MYSQL+PHP:数组处理?
以此作为我的基本代码:MYSQL+PHP:数组处理?,php,mysql,records,Php,Mysql,Records,以此作为我的基本代码: $sql = "SELECT * FROM `memberlist` WHERE Active = 1"; $res = mysql_query($sql); if (mysql_num_rows($res) > 0) { while ($temp = mysql_fetch_array($res, MYSQL_BOTH)) { 我希望结果是: 在一段时间内: 拿到第一张唱片,做点什么。 拿到第一张唱片,做点什么。拿到第二张唱片,做点什么。 拿到第一张唱片
$sql = "SELECT * FROM `memberlist` WHERE Active = 1";
$res = mysql_query($sql);
if (mysql_num_rows($res) > 0) {
while ($temp = mysql_fetch_array($res, MYSQL_BOTH)) {
我希望结果是:
在一段时间内:
拿到第一张唱片,做点什么。
拿到第一张唱片,做点什么。拿到第二张唱片,做点什么。
拿到第一张唱片,做点什么。拿到第二张唱片,做点什么。拿到第三张唱片,做点什么。
拿到第一张唱片,做点什么。拿到第二张唱片,做点什么。拿到第三张唱片,做点什么。拿到第四张唱片,做点什么。
。。。继续,直到所有记录都处理完毕,然后从1开始。只要不断重复整个过程,直到“做”的时候满意为止
这太复杂了吗
如果我需要澄清,请让我知道
我非常感谢你的帮助
谢谢大家! 按照您的要求-使用此代码从db中检索所有行。请注意,您可以在检索时维护每一行的数据。我在代码中添加了一条注释,这样您就可以知道在何处进行操作,而不必等到检索完所有行后再进行操作 另外,请注意,我将mysql_*depracate更改为mysqli_*
给你。外循环增加了内循环通过的范围
$sql = "SELECT * FROM `memberlist` WHERE Active = 1";
$res = mysql_query($sql);
if (mysql_num_rows($res) > 0) {
$arr = mysql_fetch_array($res, MYSQL_BOTH);
for($i = 0; $i < count($arr); $i++) {
for($j = 0; $j <= $i; $j++) {
var_dump($arr[$j]); // 'do somethin' here
}
}
}
mysql_*函数已弃用,将从PHP中删除。你应该考虑切换到或。这里有一些帮助,你需要澄清一下。为什么不检索所有记录并在一路上对其进行处理?@Kleskowy:mysql\u fetch\u数组一次检索所有记录。我希望它们的处理方式是我在文本中描述的…@Muur:我完全理解。不过,我的问题是如何处理数据,而不是如何检索数据。@JonDavis错了,mysql\u fetch\u数组一次检索一条记录,一条记录中的所有列都一次检索。因此,您可以在一个接一个地检索它们的同时执行所需的所有操作。
$sql = "SELECT * FROM `memberlist` WHERE Active = 1";
$res = mysql_query($sql);
if (mysql_num_rows($res) > 0) {
$arr = mysql_fetch_array($res, MYSQL_BOTH);
for($i = 0; $i < count($arr); $i++) {
for($j = 0; $j <= $i; $j++) {
var_dump($arr[$j]); // 'do somethin' here
}
}
}