MySQL + PHP: как выполнять поиск и показывать сводку, а не весь результат - PullRequest
5 голосов
/ 19 июля 2009

задавался вопросом, как сделать результат поиска, используя PHP + MySQL, но не показывать все данные в результате, а только резюме (скажем, ограничено 200 символами). И резюме будет точно содержать часть ключевого слова . Таким образом, -100 символов + ключевое слово + 100 символов могут быть такими, как это будет показано.

Спасибо!

1 Ответ

4 голосов
/ 19 июля 2009

Предполагая, что вы можете использовать первый экземпляр ключевого слова для использования в вашей сводке, вы можете разбить результаты вашего запроса в PHP следующим образом:

    $sql = "SELECT data_field FROM your_table WHERE data_field LIKE '%".$keyword."%'";
    $res = mysql_query($sql);
    while($row = mysql_fetch_array($res)) {
        $data = $row['data_field'];         
        $first_pos = strpos($data,$keyword);
        if ($first_pos !== false) {
                  $output = substr($data,max(0,$first_pos - 100),200 + strlen($keyword));
          echo $output;
        }
    }

Очевидно, что вы можете делать все, что вам нужно, с $output, как только вы это сделаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...