小白,请指点以下程序怎么不是循环输出的,而且输出的中文还是乱码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了小白,请指点以下程序怎么不是循环输出的,而且输出的中文还是乱码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2617字,纯文字阅读大概需要4分钟。
内容图文
![小白,请指点以下程序怎么不是循环输出的,而且输出的中文还是乱码](/upload/InfoBanner/zyjiaocheng/203/c9f495c9696343b2a10c35e59a06fe76.jpg)
$db_host = 'localhost';$db_user = 'root';$db_password = 'root3306';$db_database = 'chuyu';$con = mysql_connect($db_host, $db_user, $db_password);mysql_query("set names 'gb2312'"); if(!$con){die('数据库连接失败: ' . mysql_error());}mysql_select_db($db_database);global $site;$site_data=mysql_query("select * from dh_member_control where id=1",$con);$site=mysql_fetch_array($site_data);$hot_vip_data=mysql_query("SELECT * FROM dh_member WHERE `mck`=1 AND `photo`<>'/images/nan.png' AND `photo`<>'/images/nv.png' ORDER BY `mpower` DESC,`cktime` DESC LIMIT 1,12",$con);$hot_vip=mysql_fetch_array($hot_vip_data);$i=1;while ($hot_vip && $i<=12){if ($i % 6 == 0){$last=" class=\"last\"";}else{$last="";}$i++;?><li echo $last;?> onclick="javascript:location.href='/display/?https://www.gxlcms.com/ echo $hot_vip["id"]?>.html'"><img src="https://www.gxlcms.com/ echo $hot_vip["photo"]?>" /> if (strlen($hot_vip["unick"])>4){echo substr($hot_vip["unick"],1,4);}else{echo $hot_vip["unick"];}if ($hot_vip["mpower"]===2){ echo "";} ?> $timediff = strtotime (date("y-m-d")) - strtotime($hot_vip["sri"]) ;echo intval($timediff/(86400*365)) . "岁";echo $hot_vip["add"];?> }?>
测试结果显示12条一样的记录,而且中文是乱码..
回复讨论(解决方案)
你的 $hot_vip=mysql_fetch_array($hot_vip_data); 在循环外,且只执行了一次
如果没有 $i<=12 的话 while 都死循环了
至于乱码因素很多,你先把循环问题解决了再说
$hot_vip= mysql_fetch_array($hot_vip_data);
$i=1;
while ($hot_vip && $i<=12)
红色部分需要方在while里执行。
乱码问题估计没有加
解决方法如下:
';$db_host = 'localhost';$db_user = 'root';$db_password = 'root3306';$db_database = 'chuyu';$con = mysql_connect($db_host, $db_user, $db_password);mysql_query("set names 'gb2312'"); if(!$con){die('数据库连接失败: ' . mysql_error());}mysql_select_db($db_database);global $site;$site_data=mysql_query("select * from dh_member_control where id=1",$con);$site=mysql_fetch_array($site_data); $hot_vip_data=mysql_query("SELECT * FROM dh_member WHERE `mck`=1 AND `photo`<>'/images/nan.png' AND `photo`<>'/images/nv.png' ORDER BY `mpower` DESC,`cktime` DESC LIMIT 1,12",$con);#$hot_vip=mysql_fetch_array($hot_vip_data);$i=1;while ($hot_vip=mysql_fetch_array($hot_vip_data) && $i<=12){if ($i % 6 == 0){$last=" class=\"last\"";}else{$last="";}$i++;?><li echo $last;?> onclick="javascript:location.href='/display/?https://www.gxlcms.com/ echo $hot_vip["id"]?>.html'"><img src="https://www.gxlcms.com/ echo $hot_vip["photo"]?>" /> if (strlen($hot_vip["unick"])>4){echo substr($hot_vip["unick"],1,4);}else{echo $hot_vip["unick"];}if ($hot_vip["mpower"]===2){ echo "";} ?> $timediff = strtotime (date("y-m-d")) - strtotime($hot_vip["sri"]) ;echo intval($timediff/(86400*365)) . "岁";echo $hot_vip["add"];?> }?>
谢谢两位
问题解决了,但是我有还有个小疑惑:
$hot_vip_data = mysql_query("SELECT * FROM dh_member WHERE `mck`=1 AND `photo`<>'/images/nan.png' AND `photo`<>'/images/nv.png' ORDER BY `mpower` DESC,`cktime` DESC LIMIT 1,12",$con);
$hot_vip = mysql_fetch_array($hot_vip_data);
while ($hot_vip ){...}
和
$hot_vip_data = mysql_query("SELECT * FROM dh_member WHERE `mck`=1 AND `photo`<>'/images/nan.png' AND `photo`<>'/images/nv.png' ORDER BY `mpower` DESC,`cktime` DESC LIMIT 1,12",$con);
while ($hot_vip = mysql_fetch_array($hot_vip_data)){...}
是一样的么?
不一样!
$hot_vip = mysql_fetch_array($hot_vip_data); //取回一条记录
while ($hot_vip ){...} //如果 $hot_vip 不为空的话,将是死循环
while ($hot_vip = mysql_fetch_array($hot_vip_data)){...} //循环读取每一条记录,直到 $hot_vip 为空(读完了)
不一样!
$hot_vip = mysql_fetch_array($hot_vip_data); //取回一条记录
while ($hot_vip ){...} //如果 $hot_vip 不为空的话,将是死循环
while ($hot_vip = mysql_fetch_array($hot_vip_data)){...} //循环读取每一条记录,直到 $hot_vip 为空(读完了)
谢谢~
内容总结
以上是互联网集市为您收集整理的小白,请指点以下程序怎么不是循环输出的,而且输出的中文还是乱码全部内容,希望文章能够帮你解决小白,请指点以下程序怎么不是循环输出的,而且输出的中文还是乱码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。