我有一个数据库,其中表中有四列id,title,address,phone
。当用选定的表搜索时,查询搜索该特定行中的术语并获取结果,但我想知道的是,如果没有选择表格即 -
<option value="">Select table</option>
我希望查询在每个表中搜索术语,我可以使用WHERE row1 LIKE %$keyword% OR row2 LIKE %$keyword%
来完成,但是我希望它在一个查询中搜索这个东西,就好像它选择所有行数据并用术语搜索它一样,就像首先它自己一个接一个地搜索row 1
然后row2
row3
。有什么方法可以做到这一点
<html>
<head>
</head>
<body>
<?php
if(isset($_POST['submit']))
{
$keyword= $_POST['keyword'];
$table= $_POST['table'];
mysql_connect("localhost", "username", "password") or die(mysql_error());
mysql_select_db("dbname") or die(mysql_error());
$data = mysql_query("SELECT * FROM information WHERE $table LIKE '%".$keyword."%'");
//And we display the results
while($result = mysql_fetch_array( $data ))
{
echo $result['id'];
echo $result['title'];
}
}
?>
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='POST'>
<input type='text' size='90' name='keyword'>
<select name='table'>
<option value="">Select table</option>
<option value="title">title</option>
<option value="address">address</option>
<option value="phone">phone</option>
</select>
<input type='submit' name='submit' value='submit' >
</form>
</body>
</html>
答案 0 :(得分:0)
看起来你应该有什么工作,但你还需要连接where子句。试试这个。
$ data = mysql_query(“SELECT * FROM information WHERE` {$ table}`LIKE'%”。$ keyword。“%'”);