我一直在尝试创建一个搜索引擎,其中我有两个输入字段,两者都在同一个数据库和表中搜索,但不同的行/列。我的问题是他们都在行/列中搜索。我在底部添加了屏幕截图,以便您更好地了解我。
我怀疑文档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>
感谢您抽出时间和我给出的任何答案。
答案 0 :(得分:1)
您应该为搜索请求{searchVal: searchTxt}
或{searchVal2: searchTxt}
使用唯一键,并相应地在php搜索条件中使用
尝试更改您的js
和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);
});
}
<强>腓:强>
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'])) { .... }