Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso usare mysqli_fetch_array() due volte?

Dovresti sempre separare le manipolazioni dei dati dall'output.

Seleziona prima i tuoi dati:

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

Nota che da PHP 5.3 puoi usare fetch_all() invece del ciclo esplicito:

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

Quindi usalo tutte le volte che vuoi:

//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>";
}