php - 带有 MYSQL 返回的双 while 循环

标签 php mysql

PHP 中的 MySQL 双 while 循环:

$geta=mysql_query("SELECT id FROM table1 WHERE id<50");
while($row=mysql_fetch_array($geta)){
while($row2=mysql_fetch_array($geta)){
$id1=$row['id'];
$id2=$row2['id'];
echo "$id1 and $id2";
}
}

我正在尝试将 id 与另一个 id 进行所有可能的组合。

不确定它有什么问题...输出只是一个 id1 列表...

我在这里做错了什么?

最佳答案

每次调用 mysql_fetch_array() 时,您都会从 MySQL 数据库的同一结果集中获取下一个结果。因此在外循环和内循环中调用它两次只会使记录指针前进。

在您的情况下,您应该首先将所有结果加载到一个数组中,然后对其进行迭代:

// Array to hold all results
$results = array();
$geta = mysql_query("SELECT id FROM table1 WHERE id<50");
while($row = mysql_fetch_array($geta)){
  // Append all rows to the array
  $results[] = $row;
}

// Now iterate over your array $results in the outer & inner loops
foreach ($results as $r1) {
  foreach ($results as $r2) {
    echo "$r1  and $r2";
  }
}

关于php - 带有 MYSQL 返回的双 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8778012/

相关文章:

mysql - 合并两个 MySQL 表

php - 低级 API 分段文件上传过程不起作用

php - 如何从已拖放到特定区域的图像中获取值并插入到数据库中?

php - 提交表单时在Laravel 5中找不到对象

PHP 注册表未显示

mysql - mysql触发器是原子的吗?这个mysql触发器有并发问题吗?

php - 在具有父子关系的 mysql 中回溯?

mysql - 当控制台从计数 (*) 中给我正确的数字时,为什么 C# 一直从查询中给我 -1?

c# - 查询字符串 SQL 错误

php - 如何将当前日期添加到现有表?