php+mysql搜索结果及显示问题。

表名Contents字段AAA和BBB需要搜索这二个字段并且显示出来,最好能显示出来时有太多数据可以分页。我并不懂编程,但想做一个小程序,就是搜索表里的内容出来。以下贴上... 表名Contents
字段 AAA 和 BBB
需要搜索这二个字段并且显示出来,最好能显示出来时有太多数据可以分页。

我并不懂编程,但想做一个小程序,就是搜索表里的内容出来。
以下贴上我的代码,我可以搜索出来了,输入关键词就能搜出来了,现在问题来了,就是我打开这个页面,就全部显示了,就是自动把数据库要那个表的内容全显示了,其实我是想要我点击搜索才显示,不点击不要显示的。

这里好像不能贴代码,贴上去说我内容过多。。。
<div align="center">
<?php
$_GET['keyword'] = isset($_GET['keyword']) && $_GET['keyword']!='' ? $_GET['keyword'] : '';
$sql = 'select Id,Author,Contents from Contents where Contents like"%'.$_GET[keyword].'%" or Author like "%'.$_GET[keyword].'%"';
$query = mysql_query($sql);
$rs=mysql_query($sql);
while($row = mysql_fetch_array($query)){};
?>
</div>
<div align="center">
<form action="#" method="get">
<input type="text" name="keyword" id="test_id" value="请输入" onfocus="this.value=''"/>
<input type="submit" onclick="validatorNull()" value="搜索"/>
</form>
</div>

<table width="540" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#C2C2C2">
<tr>
<th width="34" bgcolor="#FFFFFF">编号</th>
<th width="288" bgcolor="#FFFFFF">内容</th>
<th width="61" align="center" bgcolor="#FFFFFF">作者</th>
<th width="42" align="center" bgcolor="#FFFFFF">修改</th>
<th width="59" align="center" bgcolor="#FFFFFF">删除</th>
</tr>
<?php
while($rows=mysql_fetch_assoc($rs))
{
?>
<tr>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows["Id"]?></td>
<td bgcolor="#FFFFFF"><?php echo $rows["Contents"]?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows["Author"]?></td>
<td align="center" bgcolor="#FFFFFF"><input name="button" type="button" onclick="location.href='modify.php?id=<?php echo $rows["Id"]?>'" value="修改" /></td>
<td align="center" bgcolor="#FFFFFF"><input name="button" type="button" onclick="if(confirm('确定要删除吗?')){location.href='del.php?id=<?php echo $rows["Id"]?>&typ=<?php echo $rows["Title"]?>'}" value="删除" /></td>
</tr>
<?php
}
?>
</table>
谢谢您们,我自己解决了,
$sql = 'select Id,Author,Contents from Contents where Contents like"%'.$_GET[keyword].'%" or Author like "%'.$_GET[keyword].'%"';
把上面的%分号去掉就行了。
展开
 我来答
DJ喜羊羊呀
2016-03-09 · TA获得超过1027个赞
知道小有建树答主
回答量:509
采纳率:66%
帮助的人:207万
展开全部
<?php
$keyword = isset($_GET['keyword']) && $_GET['keyword']!='' ? $_GET['keyword'] : '';
$sql = 'select Id,Author,Contents from Contents where Contents like"%'.$keyword.'%" or Author like "%'.$keyword.'%"';
$query = mysql_query($sql);
$rs=mysql_query($sql);
while($row = mysql_fetch_array($query)){};
?>

<form action="" method="get">
<input type="text" name="keyword" id="test_id" value="请输入" onfocus="this.value=''"/>
<input type="submit" value="搜索"/>
</form>
点击submit 提交form表单,使用$_GET获取到搜索的内容,然后在sql语句中模糊查询。
不点击的时候获取的值为空,显示的是所有的记录。这是正常的、
追问
谢谢您,我自己解决了。把%分号去掉就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仲村孝一_
2016-03-09 · 超过12用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:23.2万
展开全部
第一次进的时候把keyword初始化为''了,后面sql语句就变成 ‘%%’ 肯定全部匹配。

建议设置个变量,判断是否表单提交,是再对数据库进行操作。想分页的话用limit就行了。具体你实现可以看看别人的文章。
追问
求大神帮我写出来,我不懂的,万分感谢您!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式