【发布时间】:2016-02-05 10:25:37
【问题描述】:
我正在使用 php 构建一个搜索字段,用户可以在其中使用多个搜索选项搜索医生信息。
如图所示,用户可以通过以下方式进行搜索:DR.NAME、SPECIALTY、DIVISION、LOCATION。 DR.NAME 应该匹配任何关键字,并且表格不需要填写任何字段。
这是我当前不起作用的代码。
医生搜索.php
<?php
error_reporting(0);
include 'config.php';
$d_fname = $_POST['d_fname'];
$d_spcl = $_POST['d_spcl'];
$d_division = $_POST['d_division'];
$d_location = $_POST['d_location'];
$qry = "SELECT * FROM doctor_reg WHERE ";
if ($d_fname != '') {
$qry .= "d_fname='".mysql_real_escape_string($d_fname)."' AND ";
}
if ($d_spcl != '') {
$qry .= "d_spcl='".mysql_real_escape_string($d_spcl)."' AND ";
}
if ($d_division != '') {
$qry .= "d_division='".mysql_real_escape_string($d_division)."' AND ";
}
if ($d_location != '') {
$qry .= "d_location='".mysql_real_escape_string($d_location)."' AND ";
}
$result = mysql_query($result);
?>
<?php
echo "<table border='1px solid #CCCCCC;' width='100%'>";
echo "<tr style='color:#FFFFFF;background:#555555;'>";
echo "<th style='padding:3px;'>Name</th>";
while($row = mysql_fetch_array($result)){
echo "<tr class='trbd'>";
echo "<td style='padding:3px;'>".$row['d_fname'].' '.$row['d_lname']."</td>";
?>
<?php
echo "</tr>";
}
echo "</table>";
?>
【问题讨论】:
-
在查询中使用 OR 而不是 AND
-
试过但每次搜索结果都是空的
-
尝试调试查询中的错误。你也可以在这里粘贴你形成的查询。还可以尝试在 phpmyadmin 中运行查询或 mysql 的查询提示。这会告诉你出了什么问题。
标签: php search error-handling query-optimization