同じ行の値と一致する結果のみを表示するように検索したい。フィールドの値が一致する検索結果のみを表示するようにします。これはどうですか?
私は2つの検索フィールドを持っている:
'検索' と '検索語'
私のデータベースのフィールド名は
名 姓 メールです
ですから、例えば:
i検索の場合
'search'に 'mike'、 'search term'に 'smith'を表示する必要があります。 'mike smith'と一致する結果が表示されます。
どのように達成されますか?
ありがとうございます!
ジェームズ
<?php
$conn = mysql_connect("", "", "");
if (!$conn) {
echo "Unable to connect to DB: " . mysql_error();
exit;
}
$search = addcslashes($search,'%_');
$searchterm = addcslashes($searchterm,'%_');
$search = "%" . $_POST["search"] . "%";
$searchterm = "%" . $_POST["searchterm"] . "%";
if (!mysql_select_db("")) {
echo "Unable to select mydbname: " . mysql_error();
exit;
}
$search = $_POST['search'];
$searchterm = $_POST['searchterm'];
$sql = "SELECT name,lastname,email
FROM test_mysql
WHERE name LIKE '%". mysql_real_escape_string($search) ."%'";
$result = mysql_query($sql);
if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if(empty($_GET['search'])){ // or whatever your field's name is
echo 'no results';
}else{
performSearch(); // do what you're doing right now
}
if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}
while ($row = mysql_fetch_assoc($result)) {
echo '<br><br><div class="data1">';
echo htmlentities($row["name"]);
echo '</div><br><div class="data2">';
echo htmlentities($row["lastname"]);
echo '</div><br><div class="data3">';
echo htmlentities($row["email"]);
echo '</div>';
}
mysql_free_result($result);
?>
この質問は面白い読み込みます。私はあなたがすでに簡単なANDステートメントを試したと思いますか? "%LIKE '%'。$ search。"% 'AND LIKE'% "。$ searchterm。"% "" - 両方の単語を要件にします。 –
申し訳ありません私は非常にmysqlに新しいです私は昨日始めた。どのようにmysql_real_escape_string($ search)の周りにそれを適合させるのですか?私は構文を学んでいて、あなたがちょうど言ったものをレイアウトする方法がわからないのですか? – James