搜索引擎有两个输入字段,结果相同

时间:2017-05-16 11:09:55

标签: php jquery function html-table

我一直在尝试创建一个搜索引擎,其中我有两个输入字段,两者都在同一个数据库和表中搜索,但不同的行/列。我的问题是他们都在行/列中搜索。我在底部添加了屏幕截图,以便您更好地了解我。

我怀疑文档2中的功能有问题,但我无法理解。

这是两份文件中的代码。

文件1

mysql_connect ("localhost","xxxx","xxxx") or die ("Tilkoblingsfeil");
mysql_select_db ("xxxx") or die("Finner ikke database");
$output = '';

if(isset($_POST['searchVal']))  {
    $searchq = $_POST['searchVal'];
    $searchq = preg_replace ("#^0-9#"," ",$searchq);

    $query = mysql_query("SELECT * FROM ds_OrderItem WHERE idProduct LIKE '%$searchq%' LIMIT 100") or die("Klarte ikke søke!");
    $count = mysql_num_rows ($query);

    if($count == 0){
        $output = 'Ingen produktID med disse verdiene';




}else{


    $output .='<table border="1" cellpadding="5" cellspacing="1" width="50%" bordercolor="grey"><tr><th>ProduktID</th><th>Ordrenummer</th><th>Beskrivelse</th><th>Antall</th>';
    while($row = mysql_fetch_array($query)) {
    $output .= '<tr><td>'.$row['idProduct'].'</td><td>'.$row['idOrder'].'</td><td>'.$row['title'].'</td><td>'.$row['qty'].'</td></tr>';
}   
        $output .='</table>';




      if($_POST['searchVal'] == NULL) {
            $output = "";
            }

    }

}
if(isset($_POST['searchVal']))  {
    $searchw = $_POST['searchVal'];
    $searchw = preg_replace ("#^0-9a-z#i"," ",$searchw);

    $query = mysql_query("SELECT * FROM ds_OrderItem WHERE title LIKE '%$searchw%' LIMIT 100") or die("Klarte ikke søke!");
    $count = mysql_num_rows ($query);

    if($count == 0){
        $output = 'Ingen TECDOC artikler med disse verdiene';




    }else{


        $output .='<table border="1" cellpadding="5" cellspacing="1" width="50%" bordercolor="grey"><tr><th>ProduktID</th><th>Ordrenummer</th><th>Beskrivelse</th><th>Antall</th>';
        while($row = mysql_fetch_array($query)) {
        $output .= '<tr><td>'.$row['idProduct'].'</td><td>'.$row['idOrder'].'</td><td>'.$row['title'].'</td><td>'.$row['qty'].'</td></tr>';
}   
        $output .='</table>';




      if($_POST['searchVal'] == NULL) {
                $output = "";
            }

    }

}
echo ($output);

?>

文件2

<?php
error_reporting(1);
include('system_admin.inc.php');

make_header($title,array('enable_ajax' => true));


?>

<html>


<head>
<title>TecdocORProduct</title>
<script type=text/javascript " src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type=text/javascript ">



function searchq() {
    var searchTxt = $("input[name='search1']").val();

    $.post("testsearch.php", {searchVal: searchTxt}, function(output) {
        $("#output") .html(output);



    });


}   
function searchw() {
    var searchTxt = $("input[name='search2']").val();

    $.post("testsearch.php", {searchVal: searchTxt}, function(output) {
        $("#output") .html(output);     




});

}
</script>

</head>


<body>
<h1>Søk i produktID eller tecdocnr</h1>


<form class="odd" action="william.properties.php" method="post">
        <input type="text" name="search1" placeholder="Søk etter produktID" onkeyup="searchq();" />



<form class="odd" action="william.properties.php" method="post">
        <input type="text" name="search2" placeholder="Søk etter tecdocnr" onkeyup="searchw();" />


        <div id="output">


</div>

</form>





</body>
</html>

感谢您抽出时间和我给出的任何答案。

The right searchfield

The left searchfield

2 个答案:

答案 0 :(得分:1)

您应该为搜索请求{searchVal: searchTxt}{searchVal2: searchTxt}使用唯一键,并相应地在php搜索条件中使用

尝试更改您的jsphp代码,如下所示:

<强> JS:

function searchq() {
    var searchTxt = $("input[name='search1']").val();

    $.post("testsearch.php", {searchVal: searchTxt}, function(output) {
        $("#output") .html(output);



    });


}   
function searchw() {
    var searchTxt = $("input[name='search2']").val();

    $.post("testsearch.php", {searchVal2: searchTxt}, function(output) {
        $("#output") .html(output);     




});

}

<强>腓:

mysql_connect ("localhost","xxxx","xxxx") or die ("Tilkoblingsfeil");
mysql_select_db ("xxxx") or die("Finner ikke database");
$output = '';

if(isset($_POST['searchVal']))  {
    $searchq = $_POST['searchVal'];
    $searchq = preg_replace ("#^0-9#"," ",$searchq);

    $query = mysql_query("SELECT * FROM ds_OrderItem WHERE idProduct LIKE '%$searchq%' LIMIT 100") or die("Klarte ikke søke!");
    $count = mysql_num_rows ($query);

    if($count == 0){
        $output = 'Ingen produktID med disse verdiene';




}else{


    $output .='<table border="1" cellpadding="5" cellspacing="1" width="50%" bordercolor="grey"><tr><th>ProduktID</th><th>Ordrenummer</th><th>Beskrivelse</th><th>Antall</th>';
    while($row = mysql_fetch_array($query)) {
    $output .= '<tr><td>'.$row['idProduct'].'</td><td>'.$row['idOrder'].'</td><td>'.$row['title'].'</td><td>'.$row['qty'].'</td></tr>';
}   
        $output .='</table>';




      if($_POST['searchVal'] == NULL) {
            $output = "";
            }

    }
exit($output);
}
if(isset($_POST['searchVal2']))  {
    $searchw = $_POST['searchVal2'];
    $searchw = preg_replace ("#^0-9a-z#i"," ",$searchw);

    $query = mysql_query("SELECT * FROM ds_OrderItem WHERE title LIKE '%$searchw%' LIMIT 100") or die("Klarte ikke søke!");
    $count = mysql_num_rows ($query);

    if($count == 0){
        $output = 'Ingen TECDOC artikler med disse verdiene';




    }else{


        $output .='<table border="1" cellpadding="5" cellspacing="1" width="50%" bordercolor="grey"><tr><th>ProduktID</th><th>Ordrenummer</th><th>Beskrivelse</th><th>Antall</th>';
        while($row = mysql_fetch_array($query)) {
        $output .= '<tr><td>'.$row['idProduct'].'</td><td>'.$row['idOrder'].'</td><td>'.$row['title'].'</td><td>'.$row['qty'].'</td></tr>';
}   
        $output .='</table>';




      if($_POST['searchVal'] == NULL) {
                $output = "";
            }

    }
exit($output);
}


?>

答案 1 :(得分:1)

您需要区分发布数据名称{ idproduct : searchTxt} and { title:searchtxt }

JS:

        function searchq() {
        var searchTxt = $("input[name='search1']").val();

        $.post("testsearch.php", {idproduct: searchTxt}, function(output) {
            $("#output") .html(output);



        });


    }   
    function searchw() {
        var searchTxt = $("input[name='search2']").val();

        $.post("testsearch.php", {title: searchTxt}, function(output) {
            $("#output") .html(output);     

    });

    }

PHP:

if(isset($_POST['idproduct']))  { ....  }

if(isset($_POST['title']))  { ....  }