关于mysql_fetch_array指针 $rows = mysql_fetch_array($result);reset($rows); //数组内部指针返回第一个元素 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还是有点问题:$array=mysql_fetch_array($result,MYSQL_ASSOC);if ($array["speciality1"]!="" && $array["amount1"]!=0) echo "<table border='1'>";reset($array);//echo $array["speciality1"]; 这里用echo显示指针已经回到第一个数组 --------(1)while ($array=mysql_fetch_array($result,MYSQL_ASSOC)){ echo $array["speciality1"]; 把上面的echo(1)注释掉,这里用echo显示则是第二个数组的 不知怎么回事?.... next(); 指针向下一个数组元素移动prev(); 指针向上一个数组元素移动这些都是数组的基本操作函数!你上面已经调用了一次,然后注释掉,指针当然已经指向第二个元素了! $array=mysql_fetch_array($result,MYSQL_ASSOC);if ($array["speciality1"]!="" && $array["amount1"]!=0) echo "<table border='1'>";reset($array);while ($array=mysql_fetch_array($result,MYSQL_ASSOC)){ echo $array["speciality1"]; 这样,怎么还是显示第二个数组? 我追踪的一下数据,无论你是在上面的中间用reset($array);还是$array=prev($array);前者把$array指针回到第一个,后者返回false值,接下来再次用while ($array=mysql_fetch_array($result,MYSQL_ASSOC)),那么,指针一定是移到第二队数组,用了前面调用过mysql_fetch_array,因为要用while穷举$result,因些不可能while($array),这样会造成死循环,我自己想到的办法是:把查询$result重置,改成:$array=mysql_fetch_array($result,MYSQL_ASSOC);if ($array["speciality1"]!="" && $array["amount1"]!=0) echo "<table border='1'>";if ($result) mysql_free_result($result);这里再来一次跟上面同样的查询...接着:while ($array=mysql_fetch_array($result,MYSQL_ASSOC)){ echo $array["speciality1"];则while内就是从第一个数组开始了.除此之外还有什么办法吗? $array=mysql_fetch_array($result,MYSQL_ASSOC);if ($array["speciality1"]!="" && $array["amount1"]!=0) echo "<table border='1'>";reset($array);foreach($array as $key => $val){ echo $val;} zeroleonhart(Strong Point:Algorithm) ,我试了一下,好像不行啊因为mysql_fetch_array只返回第一个记录集.用foreach历遍只能把第一个查询的记录显示出来,之后的查询记录根本就不能显示出来了.我是要控制mysql_fetch_array的指针,不是控制由mysql_fetch_array返回的数组...好像搞错了. 各位认为Discuz好还是PHPWIND好? 2个表,如何删除某字段相同的数据,SQL怎么写啊 php输出title问题 PHP DOMDocument怎么添加于根节点顶部的子节点??? 如何知道array里的名称? 请大家推荐一套论坛软件 用PHP开发一个静态网页的BBS,大家谈谈有必要吗?有什么好的经验、建议? PHP 访问的问题 备份数据库代码在本地有效,上传到服务器就无效,怎么回事?? 如何通过第一个select选择的值改变第二个select的option 老板要起诉我,大家帮我出出主意啊!!(散分) 如何取得字符串中某个字符的总数?(100分)
if ($array["speciality1"]!="" && $array["amount1"]!=0) echo "<table border='1'>";reset($array);//echo $array["speciality1"]; 这里用echo显示指针已经回到第一个数组 --------(1)while ($array=mysql_fetch_array($result,MYSQL_ASSOC)){ echo $array["speciality1"]; 把上面的echo(1)注释掉,这里用echo显示则是第二个数组的 不知怎么回事?
....
prev(); 指针向上一个数组元素移动这些都是数组的基本操作函数!你上面已经调用了一次,然后注释掉,指针当然已经指向第二个元素了!
if ($array["speciality1"]!="" && $array["amount1"]!=0) echo "<table border='1'>";reset($array);while ($array=mysql_fetch_array($result,MYSQL_ASSOC)){ echo $array["speciality1"]; 这样,怎么还是显示第二个数组?
$array指针回到第一个,后者返回false值,接下来再次用while ($array=mysql_fetch_array($result,MYSQL_ASSOC)),那么,指针一定是移到第二队数组,用了前面调用过mysql_fetch_array,因为要用while穷举$result,因些不可能while($array),这样会造成死循环,我自己想到的办法是:把查询$result重置,改成:
$array=mysql_fetch_array($result,MYSQL_ASSOC);
if ($array["speciality1"]!="" && $array["amount1"]!=0) echo "<table border='1'>";if ($result) mysql_free_result($result);这里再来一次跟上面同样的查询...
接着:while ($array=mysql_fetch_array($result,MYSQL_ASSOC)){ echo $array["speciality1"];则while内就是从第一个数组开始了.除此之外还有什么办法吗?
if ($array["speciality1"]!="" && $array["amount1"]!=0) echo "<table border='1'>";reset($array);foreach($array as $key => $val){ echo $val;}