PHP + MySQLを使用して検索結果を表示する方法は不思議でしたが、結果にすべてのデータは表示されませんが、 )。また、要約にはキーワード部分が含まれています。 -100文字+キーワード+100文字のように表示されます。MySQL + PHP:全体の結果ではなく、検索結果を表示する方法
ありがとうございます!
PHP + MySQLを使用して検索結果を表示する方法は不思議でしたが、結果にすべてのデータは表示されませんが、 )。また、要約にはキーワード部分が含まれています。 -100文字+キーワード+100文字のように表示されます。MySQL + PHP:全体の結果ではなく、検索結果を表示する方法
ありがとうございます!
あなたの要約で使用するキーワードの最初のインスタンスを取ると罰金と仮定すると、あなたはこれと同様に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
とあなたのニーズに合ったものをしてください。
ありがとうございました!しかし、$ output = substr($ data ....)とあなたの行に解析エラーが出ています。 –
これは申し訳ありません。コピー/ペーストの括弧を駄目にしてしまいました。今すぐお試しください。 – zombat
うわー、これはとてもクールです。 ! –
MySQLでは、LEFT()を使用して最初の200を取得できますが、-100の文字列を取得するには+ 100がより複雑になります。キーワードのインスタンスが複数回存在しますか? – Ian
はい。複数のキーワードを使用できます。しかし、FIRSTキーワードの周りに要約を表示するだけで大丈夫です。 –