この人の検索機能を jquery(json) と php で構築しています。検索バーから php ドキュメントに送信されますが、希望どおりに動作しません。
mysql サーバーまたは php コードに問題があるかどうかはわかりませんが、検索スクリプトを実行すると、(例):"e"、"s"、または "r" の値が返されませんが、入力すると人の名前全体、または「a」のみ 「a」を含むすべての名前を返します。
ここに私のスクリプトの小さな抜粋があります:
$string = trim(mysql_real_escape_string($_POST['string']));
$sql = "SELECT * FROM users WHERE firstName LIKE '%$string%' OR lastName LIKE '%$string%' ORDER BY firstName ASC";
foreach($db->query($sql) as $row) {
//usage of $row like: $name = $row['firstName']." ".$row['lastName'];
}
更新:
スクリプト全体をheres:
$sql = "SELECT * FROM users WHERE firstName like '%$string%' OR lastName like '%$string%' ORDER BY firstName ASC";
foreach($db->query($sql) as $row) {
$name = $row['firstName']. " ".$row['lastName'];//combing firstname with lastname
//replacing æ,ø,å,Æ,Ø,Å with html friendly charcodes
$remove = array("æ", "ø", "å", "Æ", "Ø", "Å");
$with = array("æ", "ø", "å", "Æ", "Ø", "Å");
$fname = str_replace($remove, $with, $name);
//composing a answer to the user.
$stringUser[] = "<li class='searchResultHit'><div class='searchResultLeft'><img src='".$row['picture']."'></div><div class='searchResultCenter'><span class='searchResultContent'><a href='user.php?id=".$row['id']."'>".$fname."</a></span></div></li>";
}