Php Mysql搜索消息是否没有结果,搜索前是否清除querystring?

Php Mysql搜索消息是否没有结果,搜索前是否清除querystring?,php,mysql,search,query-string,Php,Mysql,Search,Query String,在使用搜索表单进行搜索查询后,我一直很难获得“未找到结果”消息。下面是我的代码。有人能帮忙吗 我还希望能够在提交搜索后清除我的查询字符串。例如,如果我在第3页上,然后用我的表单进行搜索,由于设置了查询字符串,我不会在第3页上显示任何结果。希望这是有道理的 function supportquery($viewstate) { $display = 6;// number of results per page if (isset($_GET['np'])) { $n

在使用搜索表单进行搜索查询后,我一直很难获得“未找到结果”消息。下面是我的代码。有人能帮忙吗

我还希望能够在提交搜索后清除我的查询字符串。例如,如果我在第3页上,然后用我的表单进行搜索,由于设置了查询字符串,我不会在第3页上显示任何结果。希望这是有道理的

function supportquery($viewstate) {

 $display = 6;// number of results per page

        if (isset($_GET['np'])) {
    $num_pages = $_GET['np'];
} else {

    $where = "1"; // default
    switch ($viewstate) {
        case "open": $where = "status='Open'"; break;
        case "pending": $where = "status LIKE 'Pending%'"; break;
        case "closed": $where = "status='Closed'"; break;
    }

    $query = "SELECT ticket_number, first_name, surname, email, product, retailer, DATE_FORMAT(dop, '%d %M %Y') AS dop,
        message, address, DATE_FORMAT(created, '%d %M %Y %r') AS created, status FROM support_dev WHERE $where ORDER BY ticket_number DESC";
        $search = "%" . $_POST["search"] . "%";
    if ($_POST["search"]) { $query = "SELECT ticket_number, first_name, surname, email, product, retailer, DATE_FORMAT(dop, '%d %M %Y') AS dop, message, address, DATE_FORMAT(created, '%d %M %Y %r') AS created, status FROM support_dev WHERE ticket_number LIKE '$search' OR email LIKE '$search' ORDER BY ticket_number DESC"; 

}

    $query_result = mysql_query ($query); 
    $num_records = @mysql_num_rows ($query_result);
    if ($num_records > $display) {
        $num_pages = ceil ($num_records/$display);
    } else {
        $num_pages = 1;
    }
}



if (isset($_GET['startoftable'])) {
    $start = $_GET['startoftable'];
} else {
    $start = 0;// start of results from row 0 in table

}

    $query = "SELECT ticket_number, first_name, surname, email, product, retailer, DATE_FORMAT(dop, '%d %M %Y') AS dop, message, address, DATE_FORMAT(created, '%d %M %Y %r') AS created, status FROM support_dev ORDER BY ticket_number DESC LIMIT $start, $display";
    if ($viewstate=='open') {

        $query = "SELECT ticket_number, first_name, surname, email, product, retailer, DATE_FORMAT(dop, '%d %M %Y') AS dop, message, address, DATE_FORMAT(created, '%d %M %Y %r') AS created, status FROM support_dev WHERE status='Open'ORDER BY ticket_number DESC LIMIT $start, $display";
        }
            elseif ($viewstate=='pending') {
        $query = "SELECT ticket_number, first_name, surname, email, product, retailer, DATE_FORMAT(dop, '%d %M %Y') AS dop, message, address, DATE_FORMAT(created, '%d %M %Y %r') AS created, status FROM support_dev WHERE status LIKE 'Pending%' ORDER BY ticket_number DESC LIMIT $start, $display";
        }
        elseif ($viewstate=='closed') {
        $query = "SELECT ticket_number, first_name, surname, email, product, retailer, DATE_FORMAT(dop, '%d %M %Y') AS dop, message, address, DATE_FORMAT(created, '%d %M %Y %r') AS created, status FROM support_dev WHERE status='Closed' ORDER BY ticket_number DESC LIMIT $start, $display";}


    if ($_POST["search"]) {
         $query = "SELECT ticket_number, first_name, surname, email, product, retailer, DATE_FORMAT(dop, '%d %M %Y') AS dop, message, address, DATE_FORMAT(created, '%d %M %Y %r') AS created, status FROM support_dev WHERE ticket_number LIKE '$search' OR email LIKE '$search' ORDER BY ticket_number DESC LIMIT $start, $display";


      }

        $result = @mysql_query ($query);
        $num = mysql_num_rows ($result);

if ($num > 0) {

    if ($num_pages > 1) {
        echo '<div class="pagination"><p>';
        $current_page = ($start/$display) + 1; 

        if ($current_page != 1) {
            echo '<a href="?page_id=1072&amp;startoftable=' . (0) . '&np=' . $num_pages . '&viewstate=' . $viewstate .'">First</a> ';  
            echo '<a href="?page_id=1072&amp;startoftable=' . ($start - $display) . '&np=' . $num_pages . '&viewstate=' . $viewstate . '"><</a> ';
        }

    // range of num links to show
$range = 4;

// loop to show links to range of pages around current page
for ($i = ($current_page - $range); $i < (($current_page + $range)  + 1); $i++) {
   // if it's a valid page number...
   if (($i > 0) && ($i <= $num_pages)) {
      // if we're on current page...
      if ($i == $current_page) {
         // 'highlight' it but don't make a link
         echo " [<b>$i</b>] ";
      // if not current page...
      } else {
         // make it a link
     echo ' <a href="?page_id=1072&amp;startoftable=' . (($display * ($i - 1))) . '&np=' . $num_pages . '&viewstate=' . $viewstate .'">' .$i .'</a> ';

      }}}   

        if ($current_page != $num_pages) {

            echo '<a href="?page_id=1072&amp;startoftable=' . ($start + $display) . '&np=' . $num_pages . '&viewstate=' . $viewstate .'">></a> '; 
            echo '<a href="?page_id=1072&amp;startoftable=' . ( $display * $num_pages-$display ) . '&np=' . $num_pages . '&viewstate=' . $viewstate .'">Last</a> '; 
        }

        echo '</p></div> '; 

    }

         if ($result = mysql_query ($query)) {
         echo '
    <div id="supviewwrapperheader">
    <div id="supviewticket"><p>Ticket</p></div> 
    <div id="supviewfirst"><p>First Name</p></div>
    <div id="supviewlast"><p>Last Name</p></div>
    <div id="supviewemail"><p>Email</p></div>
    <div id="supviewproduct"><p>Product</p></div>
    <div id="supviewretailer"><p>Retailer</p></div>
    <div id="supviewdop"><p>D.O.P.</p></div>
    <div id="supviewmessage"><p>Message</p></div>
    <div id="supviewaddress"><p>Address</p></div>
    <div id="supviewcreated"><p>Date created</p></div>
    <div id="supviewstatus"><p>Status</p></div>
    <div id="supviewbuttons"><p></p></div>
    </div>
    ';

    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
        echo "
        <div id=\"supviewwrapper\" class=\"".($row[10])."\">
        <div id=\"supviewticket\"><p><a name=\"a".$row[0]."\"></a>$row[0]</p></div>
        <div id=\"supviewfirst\"><p>$row[1]</p></div>
        <div id=\"supviewlast\"><p>$row[2]</p></div>
        <div id=\"supviewemail\"><p>$row[3]</p></div>
        <div id=\"supviewproduct\"><p>$row[4]</p></div>
        <div id=\"supviewretailer\"><p>$row[5]</p></div>
        <div id=\"supviewdop\"><p>$row[6]</p></div>
        <div id=\"supviewmessage\"><p>$row[7]</p></div>
        <div id=\"supviewaddress\"><p>$row[8]</p></div>
        <div id=\"supviewcreated\"><p>$row[9]</p></div>
        <div id=\"supviewstatus\"><p>$row[10]</p></div>
        <div id=\"supviewbuttons\"><p><form method=\"post\" action=\"".htmlentities($_SERVER['REQUEST_URL'])."#a".$row[0]."\"><input type=\"hidden\" name=\"close_row\" value=\"".($row[0])."\" /><input type=\"hidden\" name=\"viewstate\" value=\"".$viewstate."\" /><INPUT TYPE=\"submit\" name=\"open\" VALUE=\"\" class=\"submit_open\"><br /><INPUT TYPE=\"submit\" name=\"pending\" VALUE=\"\" class=\"submit_pending\"><br /><INPUT TYPE=\"submit\" name=\"pending_ami\" VALUE=\"\" class=\"submit_pendingami\"><br /><INPUT TYPE=\"submit\" name=\"pending_arp\" VALUE=\"\" class=\"submit_pendingarp\"><br /><INPUT TYPE=\"submit\" name=\"close\" VALUE=\"\" class=\"submit_closed\"></form></p></div></div>";



    }


     }

    mysql_free_result ($result);

     }
函数支持查询($viewstate){
$display=6;//每页的结果数
如果(isset($\u GET['np'])){
$num_pages=$_GET['np'];
}否则{
$where=“1”//默认值
开关($viewstate){
案例“打开”:$where=“status='open'”;中断;
案例“待定”:$where=“状态类似于‘待定%”;中断;
案例“已关闭”:$where=“status='closed'”;中断;
}
$query=“选择票号、名字、姓氏、电子邮件、产品、零售商、日期格式(dop、%d%M%Y”)作为dop,
消息、地址、日期\u格式(创建时为“%d%M%Y%r”)、来自支持的状态\u dev其中$WHERE ORDER BY ticket number DESC”;
$search=“%”$\u POST[“search”]。“%”;
如果($\u POST[“search”]){$query=“选择票号、名字、姓氏、电子邮件、产品、零售商、日期格式(dop、%d%M%Y')作为dop、消息、地址、日期格式(已创建,'%d%M%Y%r')作为已创建,来自支持部门的状态,其中票号类似于“$search”或电子邮件类似于“$search”按票号说明订购”;
}
$query\u result=mysql\u query($query);
$num\u records=@mysql\u num\u rows($query\u result);
如果($num_记录>$display){
$num_pages=ceil($num_记录/$display);
}否则{
$num_pages=1;
}
}
如果(isset($\u GET['startoftable'])){
$start=$\获取['startoftable'];
}否则{
$start=0;//从表中第0行开始计算结果
}
$query=“选择票号、名字、姓氏、电子邮件、产品、零售商、日期格式(dop、%d%M%Y')作为dop、消息、地址、日期格式(已创建、%d%M%Y%r')作为已创建、来自支持的状态(按票号说明订单限制$start、$display”);
如果($viewstate=='open'){
$query=“选择票号、名字、姓氏、电子邮件、产品、零售商、日期格式(dop、%d%M%Y')作为dop、消息、地址、日期格式(已创建、%d%M%Y%r')作为已创建、来自支持部门的状态,其中状态为“打开”按票号订购说明$start、$display”;
}
elseif($viewstate=='pending'){
$query=“选择票号、名字、姓氏、电子邮件、产品、零售商、日期格式(dop、%d%M%Y')作为dop、消息、地址、日期格式(已创建、%d%M%Y%r')作为已创建、来自支持部门的状态,其中状态类似于“待定%”,按票号订购说明$start、$display”;
}
elseif($viewstate=='closed'){
$query=“选择票号、名字、姓氏、电子邮件、产品、零售商、日期格式(dop、%d%M%Y')作为dop、消息、地址、日期格式(已创建、%d%M%Y%r')作为已创建、来自支持部门的状态,其中状态为“已关闭”按票号订购说明$start、$display”;]
如果($_POST[“search”]){
$query=“选择票号、名字、姓氏、电子邮件、产品、零售商、日期格式(dop、%d%M%Y')作为dop、消息、地址、日期格式(创建、%d%M%Y%r')作为创建、来自支持的状态,其中票号类似于“$search”或电子邮件类似于“$search”按票号顺序描述$start、$display”;
}
$result=@mysql\u query($query);
$num=mysql\u num\u行($result);
如果($num>0){
如果($num_pages>1){
回声“”;
$current_page=($start/$display)+1;
如果($current_page!=1){
回声';
回声';
}}}   
如果($current_page!=$num_page){
回声';
回声';
}
回声“

”; } 如果($result=mysql\u query($query)){ 回声' 门票

名字

电子邮件

产品

零售商

D.O.p

信息

地址

创建日期

地位

'; 而($row=mysql\u fetch\u数组($result,mysql\u NUM)){ 回声“ $row[0]

$row[1]

$row[2]

$row[3]

$row[4]

$row[5]

$row[6]

$row[7]

$row[8]

$row[9]

$row[10]






”; } } mysql_free_result($result); }
您应该使用
如“%{$search}%”
来匹配字符串中的字符串。

您好,谢谢您的提示,不过这对我的其他问题仍然没有帮助。