gpt4 book ai didi

php - 如何使用 mysqli_fetch_array() 两次?

转载 作者:行者123 更新时间:2023-11-29 17:54:31 25 4
gpt4 key购买 nike

我正在使用数据库中的条目来填充表中的行和列。但我无法使用 mysqli_fetch_array() 两次访问 SQL 返回的数据。我需要多次循环 mysqli 结果。这不起作用:

//Copy the result
$db_res = mysqli_query( $db_link, $sql );
$db_res2=$db_res;

//Top row
while ($row = mysqli_fetch_array( $db_res, MYSQL_ASSOC))
{
echo "<td>". $row['Title'] . "</td>";
}

//leftmost column
while ($row = mysqli_fetch_array( $db_res2, MYSQL_ASSOC))
{
echo "<tr>";
echo "<td>". $row['Title'] . "</td>";
.....
echo "</tr>";
}

如何对同一个结果应用 mysqli_fetch_array 两次?

最佳答案

您应该始终将数据操作与输出分开。

首先选择您的数据:

$db_res = mysqli_query( $db_link, $sql );
$data = array();
while ($row = mysqli_fetch_assoc($db_res))
{
$data[] = $row;
}

请注意,从 PHP 5.3 开始,您可以使用 fetch_all() 而不是显式循环:

$db_res = mysqli_query( $db_link, $sql );
$data = $db_res->fetch_all(MYSQLI_ASSOC);

然后根据需要多次使用它:

//Top row
foreach ($data as $row)
{
echo "<td>". $row['Title'] . "</td>";
}

//leftmost column
foreach ($data as $row)
{
echo "<tr>";
echo "<td>". $row['Title'] . "</td>";
.....
echo "</tr>";
}

关于php - 如何使用 mysqli_fetch_array() 两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48984167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com