我做的是模糊查询,三个条件,
1不为空的话就select * from table where name like '%1%';
2不为空的话就select * from table where name like '%1%' and id=2;
3不为空的话就select * from table where name like '%1%' and content like '%3%';
如果都为空就select * from table;
php怎么拼接呢?
我不想那么多判断,麻烦。
<?php
$a = '';
$b = '';
$c = '';
$d = '';
$sql = "SELECt * from `table`";
if(!empty($a)) $sql = $sql."WHER `name` like '%1%'";
if(!empty($a))
{
if(!empty($b)) $sql = $sql."AND `id`='2'";
}else
{
if(!empty($b)) $sql = $sql."WHERe `id`='2'";
}
if(!empty($a))
{
if(!empty($c)) $sql = $sql."AND `content` like '%3%'";
}else
{
if(!empty($c)) $sql = $sql."WHERe `content` like '%3%'";
}
?>
$sql="select * from user where id in (1,2,3,4,5)";
if ($res=mysql_query($sql){
echo '<table>';
while ($row=mysql_fetch_row($res)){
echo '<tr><td>';
foreach ($row as $val) echo "<td>$val";
}
echo '</table>';
} else echo "查询数据错误,SQL语句是:<BR>$SQL<BR>错误信息是:<BR>".mysql_error();