求查询数据库然后循环输出的优化方法,有大神请帮忙修改一下贴出来,谢谢。
需要优化部分的代码是,这个是查询杰奇小说数据列表,才几千条数据,但是反应很慢,差不多10-30S才能出现页面:
if ($catid>"11" and $catid>"0")
{$catid=0;}
$m="18";//每页显示的记录数
if ($catid<"11" and $catid>"0")
{
$where="WHERE `chapters`>='2' and `sortid`='$catid'";
}else{
$where="WHERE `chapters`>='2'";
}
$numsql="select * from jieqi_article_article $where";
$numery = mysql_query($numsql);
$lognum = mysql_num_rows($numery);//总记录数
$zy = (int)(($lognum-1)/$m)+1;//总页数
isset($_GET['page'])?$page=$_GET['page']:$page="1";//当前页数
isset($_GET['cat'])?$catid=$_GET['cat']:$catid="0";//当前分类数
$one = (int)($page-1)*$m;//当前页的首条记录
if ($catid<"11" and $catid>"0"){
$sql="select * from jieqi_article_article WHERE `chapters`>='2' and `sortid`='$catid' order by lastupdate desc limit $one,$m";
}else{
$sql="select * from jieqi_article_article WHERE `chapters`>='2' order by lastupdate desc limit $one,$m";
}
$result = mysql_query($sql);
在where循环里我用了以下代码:
while($list=mysql_fetch_array($result))
{
$s = <<<heredoc
s.jpg
heredoc;
$id = <<<heredoc
$list[articleid]
heredoc;
$book_img_z=intval($id/1000);
$imgurl = <<<heredoc
$imgfromurl/$book_img_z/$id/$id$s
heredoc;
$file = "$imgurl";
$fileExists = @file_get_contents($file,null,null,-1,1) ? true : false;
if($fileExists){
}else{
$imgurl = <<<heredoc
$weburl/img/no.jpg
heredoc;
}
if($wjt==0){
$bookurl = <<<heredoc
$weburl/book.php?id=$id
heredoc;
}else{
$bookurl = <<<heredoc
$weburl/book/$id.html
heredoc;
}
echo '
......................
';
}
本文来自投稿,不代表微盟圈立场,如若转载,请注明出处:https://www.vm7.com/a/ask/102928.html