Поисковая система с двумя входными полями, имеющими одинаковый результат

Я пытаюсь создать поисковую систему, где у меня есть два поля ввода, оба они ищут в одной базе данных и таблице, но разные строки / столбцы. Моя проблема заключается в том, что они оба ищут в обоих строках / столбцах. Я добавляю скриншоты внизу, чтобы вы могли понять меня лучше.

Я подозреваю, что что-то не так, как в документе 2, но я не понимаю, что.

Вот код в двух документах.

Документ 1

mysql_connect ( "localhost" , "xxxx" , "xxxx" ) или die ( "Tilkoblingsfeil" ); 
mysql_select_db ( "xxxx" ) или 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" ) или die ( "Klarte ikke soke!" ); 
    $ count = mysql_num_rows ( $ query );  

    if ( $ count == 0 ) { 
        $ output = 'Без идентификатора продукта с этими значениями ;  




} else {


    $ output . = '<table border = "1" cellpadding = "5" cellspacing = "1" width = "50%" bordercolor = "gray"> <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" ) или die ( "Klarte ikke soke!" ); 
    $ count = mysql_num_rows ( $ query );  

    if ( $ count == 0 ) { 
        $ output = 'Нет статей TECDOC с этими значениями ;  




    } else {


        $ output . = '<table border = "1" cellpadding = "5" cellspacing = "1" width = "50%" bordercolor = "gray"> <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 );

?> prettyprint prettyprinted "><?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>Sok i produktID eller tecdocnr</h1>


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



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


        <div id="output">


</div>

</form>





</body>
</html>

Документ 2

{searchVal: searchTxt}

Спасибо за ваше время и любые ответы, которые мне могут дать.

Правильное поле поиска

Левое поле поиска

php,jquery,function,html-table,

2

Ответов: 2


1 принят

Вы должны использовать уникальные ключи для вашего обоих поисковых запросов {searchVal2: searchTxt}или jsиспользовать их в условиях поиска php соответственно

Попробуйте изменить свой код phpи phpкод, как показано ниже:

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




});

}

Php:

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 soke!");
    $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 soke!");
    $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

Вы должны различать имя почтовых данных { 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']))  { ....  }
PHP, JQuery, функция, HTML-таблица,