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
    }
  }
}