我希望我的搜索仅显示具有匹配字段值的结果.这是怎么做的? [英] I want my search to only show results with matching field values. How is this done?

查看:34
本文介绍了我希望我的搜索仅显示具有匹配字段值的结果.这是怎么做的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望我的搜索仅显示与同一行中的值匹配的结果.

I want my search to only display results that match values in the same row.

我有两个搜索字段:

'搜索'和'搜索词'

我的数据库中的字段名称是

the field names in my database are

姓名姓电子邮件

例如:

如果我搜索

'search' 中的'mike' 和'search term' 中的'smith' 我想显示的唯一结果是匹配'mike smith' 的结果,而不显示像'mike harris' 的结果

'mike' in 'search' and 'smith' in 'search term' the only results I want to show are results that match 'mike smith' NOT showing results like 'mike harris'

这是如何实现的?

谢谢!

詹姆斯

 <?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);

?>

推荐答案

更改:

WHERE  name LIKE '%". mysql_real_escape_string($search) ."%'";

致:

WHERE  name LIKE '%". mysql_real_escape_string($search) ."%' AND lastname LIKE '%". mysql_real_escape_string($search) ."%'";

这篇关于我希望我的搜索仅显示具有匹配字段值的结果.这是怎么做的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆