数据库是resistorbusiness,本地主机,密码444968,表名lpc_19240_avl,表里4个字段type,namecc,avl,mct。这段代码的文件名searchlist.php。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<meta http-equiv="Content-Type"content="text/html;charset=gb2312">
<title>搜索</title>
</head>
<body>
<form name="form" action=" " method="get">
<input type="text" name="search_text" size="20">
<input type="submit" value="搜索">
</form>
<?php
if(isset($_GET["search_text"]))
{
$word=$_GET["search_text"];
$link=mysql_connect("localhost","root","444968") or die("无法连接");
$db_selected=mysql_select_db("resistorbusiness",$link);
$sql="select * from lpc_19240_avl where avl like '%$word%'";
$result=mysql_query($sql,$link);
$count = mysql_num_rows($result); //得到总的记录数
$pageSize = 100 ; //设置每页显示数据条数
if($count%$PageSize>0)$pagecount+=1; //计算多少页
$page = $_GET['page'];//当前页
if(!$page)$page = 1;
$sql="select * from lpc_19240_avl where avl like '%$word%' limit ". ($page-1)*$PageSize .", $PageSize" ;
$result=mysql_query($sql,$link);
if($result)
{
while($row=mysql_fetch_row($result))
{
for($i=0;$i<mysql_num_fields($result);$i++)
echo "$row[$i]"." ";
echo "<br>";
}
}
//开始显示分页
if($pagecount >0)
{
for($i=1;$i<=$pagecount;$i++)
{
echo "<a href='searchlist.php?page=".$i."&search_text=".$word."'>".$i."</a>";
}
}
}
?>
</body>
</html>
当代码执行到if($count%$PageSize>0)$pagecount+=1; 时,出错显示division by zero.
如何修改?我在学习,准备自己做个网站。谢谢专家出手相助。
你代码34行用错了函数 应该是
1.for($i=0;$i<mysql_num_rows($result);$i++)
2.还有楼上说的P大小写问题
3.当搜索显示结果时,这说明你写显示分页是逻辑有问题 只能显示第一页
$PageSize 前面那个P大写了。 你定义的变量是小写的。、$pageSize
区分大小写的追问
对,这个大写的P导致这个变量成未定义的变量,默认为0,我修改后division by zero错误没有了。但是只出来一个表单和一个“搜索”按钮。无论在搜索框输入什麽text,或者不输入任何text,只要一点“搜索”按钮,就再搜索框下出来个1,其它任何反应都没有了,也就是说,这段代码没有完成预定功能,即搜索,然后将结果分页显示的功能。你能帮我看看这段代码吗?
追答今天不行了, 好困了, 明天来、、
本回答被提问者采纳