(PHP)我要使用搜索语句,只显示我搜索的那一列信息,而不是显示数据库中的全部。如下,该怎么修改? 10
//封装搜索信息$wherelist=array();//定义一个封装搜索条件的数组变量//判断书名是否有值,封装搜索信息。if(!empty($_GET["uname"...
//封装搜索信息
$wherelist = array();//定义一个封装搜索条件的数组变量
//判断书名是否有值,封装搜索信息。
if(!empty($_GET["uname"]))
{
$wherelist[]="uname like '%{$_GET['uname']}%'";
}
//判断作者是否有值,有-封装搜索。
if(!empty($_GET["uinfo"]))
{
$wherelist[]="uinfo like '%{$_GET['uinfo']}%'";
}
//组装搜索条件
if(count($wherelist)>0)
{
$where = " where ".implode(" and ",$wherelist);//数组合并成字符串
}
//echo $where;
//=================================================================
//从数据库中读取信息并输入到浏览器表格中
//1.导入配置文件
require("dbconfig1.php");
//2.连接数据库,并选择数据库
$link = mysql_connect(HOST,USER,PASS)or die("数据库连接失败");
mysql_select_db(DBNAME,$link);
//3.执行图书信息查询
@$sql = "select * from users {$where} order by addtime desc";
$result = mysql_query($sql,$link);
//4.解析图书信息结果集
while(@$row = mysql_fetch_assoc($result)){
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['uname']}</td>";
echo "<td>{$row['uinfo']}</td>";
echo "<td>{$row['unar']}</td>";
echo "<td>{$row['booka']}</td>";
echo "<td>{$row['bookb']}</td>";
echo "<td>{$row['bookc']}</td>";
echo "<td>".date("Y-m-d",$row['addtime'])."</td>";
echo "</tr>";
}
@mysql_free_result($result);
mysql_close($link); 展开
$wherelist = array();//定义一个封装搜索条件的数组变量
//判断书名是否有值,封装搜索信息。
if(!empty($_GET["uname"]))
{
$wherelist[]="uname like '%{$_GET['uname']}%'";
}
//判断作者是否有值,有-封装搜索。
if(!empty($_GET["uinfo"]))
{
$wherelist[]="uinfo like '%{$_GET['uinfo']}%'";
}
//组装搜索条件
if(count($wherelist)>0)
{
$where = " where ".implode(" and ",$wherelist);//数组合并成字符串
}
//echo $where;
//=================================================================
//从数据库中读取信息并输入到浏览器表格中
//1.导入配置文件
require("dbconfig1.php");
//2.连接数据库,并选择数据库
$link = mysql_connect(HOST,USER,PASS)or die("数据库连接失败");
mysql_select_db(DBNAME,$link);
//3.执行图书信息查询
@$sql = "select * from users {$where} order by addtime desc";
$result = mysql_query($sql,$link);
//4.解析图书信息结果集
while(@$row = mysql_fetch_assoc($result)){
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['uname']}</td>";
echo "<td>{$row['uinfo']}</td>";
echo "<td>{$row['unar']}</td>";
echo "<td>{$row['booka']}</td>";
echo "<td>{$row['bookb']}</td>";
echo "<td>{$row['bookc']}</td>";
echo "<td>".date("Y-m-d",$row['addtime'])."</td>";
echo "</tr>";
}
@mysql_free_result($result);
mysql_close($link); 展开
2016-04-22
展开全部
要看你没有人选是用什么表示,如果列名为“是否有人选”0表示没有人选的话,selcet 课程编号,课程名称 from 表名 where 是否有人选=0
select c.cno,cname from course c left join sc on(c.cno=sc.cno) where sc.sno=null; 嘻嘻,应该是这样的
select c.cno,cname from course c left join sc on(c.cno=sc.cno) where sc.sno=null; 嘻嘻,应该是这样的
2016-04-21 · 知道合伙人互联网行家
关注
展开全部
显示的一列,没明白?!
更多追问追答
追问
比如我输入Uname的值为0, 就会显示数据库中,uname值为0的那一行信息。
追答
这个就不是用like
$wherelist[]="uname like '%{$_GET['uname']}%'";
而是
$wherelist[]="uname= '$_GET['uname']'";
like是模糊查询,肯定查询相似的记录,’=‘表示确定的查询。
like少用,效率很低,有兴趣的话了解一下全文索引
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询