Home > Article > Backend Development > How to Loop Through mysqli Results Multiple Times: A Better Approach?
Looping mysqli Results Multiple Times: A Better Approach
In the context of using mysqli_fetch_array() to access database data, you may encounter a situation where you need to iterate through the result set multiple times. However, attempting to use mysqli_fetch_array() twice on the same result, as exemplified in the given code snippet, will not work effectively.
Separation of Data Manipulation and Output
A more efficient solution is to separate data manipulation from output. Instead of trying to fetch data and display it in a single step, you should first select and store the data in an array. This way, you can access and manipulate the data as many times as needed.
Selecting the Data
To select the data from the database, use the following code:
$db_res = mysqli_query( $db_link, $sql ); $data = array(); while ($row = mysqli_fetch_assoc($db_res)) { $data[] = $row; }
This code executes the SQL query and stores each row of the result in the $data array. Note that fetch_assoc() is used instead of fetch_array() to return an associative array for ease of access.
Using the Data Multiple Times
Once the data is stored in the $data array, you can use it as many times as you wish:
//Top row foreach ($data as $row) {
The above is the detailed content of How to Loop Through mysqli Results Multiple Times: A Better Approach?. For more information, please follow other related articles on the PHP Chinese website!