php while循环和foreach循环 mysql_fetch_array()
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php while循环和foreach循环 mysql_fetch_array()相关的知识,希望对你有一定的参考价值。
while($rows=mysql_fetch_array())
代码块。。
while循环后,可以把表里面的数据都循环输出
$rows=mysql_fetch_array()
foreach($rows as $values)
代码块。。
foreach循环只能循环一条数据出来!
我认为$rows这时候不管在while还是foreach都是属于数组,为什么两种情况不一样。后来问了下朋友,说可能是mysql_fetch_array()的原因,是因为这个是个结果集的问题?请大神能帮我理一下,说一下具体的区别
while举例如下:
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQL_NUM))
printf ("ID: %s Name: %s", $row[0], $row[1]);
mysql_free_result($result);
?>
foreach循环举例如下:
$rows = mysql_fetch_all($result);
foreach($rows as $row)
printf ("ID: %s Name: %s", $rows[0], $rows[1]);
参考技术A 既然你知道是mysql_fetch_arry()的原因,为什么不翻翻手册?
mysql_fetch_array:Returns an array that corresponds to the fetched row and moves the internal data pointer ahead.
关键字" moves the internal data pointer ahead"
mysql_fetch_array是从结果集中取出一行,然后指针向前移动
每次调用的时候除了做取出的动作还会对指针位置向前移动,如果结果集没有任何数据了则反回false。本回答被提问者和网友采纳 参考技术B mysql_fetch_array()每循环一次, 数据指针就下移一行!
如果mysql_fetch_array()不参与循环 , 那取回的数据自然就只有一行!
PHP数组循环?
我的数组循环了,在html里面a标签显示文字了,但是我用同样的方式,把链接里面,同样的替换,但是始终不可以,所以整个循环就文字改变了,链接还是显示第一组的,其他的改不了,如果真改不了,那循环没有用了,有哪位大佬清楚的,急急急.
参考技术A PHP中遍历数组有三种常用的方法:一、使用for语句循环遍历数组;
二、使用foreach语句遍历数组;
三、联合使用list()、each()和while循环遍历数组。
这三种方法中效率最高的是使用foreach语句遍历数组。从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用。先分别介绍这几种方法。 参考技术B 两种解决办法,第一查看调试模式,看看a标签里面的值都循环出来没有?第二,在php页面打印数组,看看你要的值到底有没有?实在不行再贴代码上来
以上是关于php while循环和foreach循环 mysql_fetch_array()的主要内容,如果未能解决你的问题,请参考以下文章