De la documentación:
- mysqli_stmt::data_seek — Busca una fila arbitraria en un conjunto de resultados de una sentencia
En el ejemplo, lo que hace data_seek es posicionar el cursor en la primer fila (fila 0). No es necesario en el caso del ejemplo, quedó ahí por un error mío porque quité otra parte del ejemplo que invertía el orden de las filas :P
- mysqli_result::fetch_assoc — Obteter una fila de resultado como un array asociativo
Acá hay otro ejemplo que creo que es más claro
Código PHP:
Ver original<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");
/* verificar la conexión */
if ($mysqli->connect_errno) {
printf("Conexión fallida: %s\n", $mysqli->connect_error); }
$consulta = "SELECT Nombre, Codigo FROM Ciudades ORDER by ID DESC LIMIT 50,5";
/* Realizar consulta */
if ($resultado = $mysqli->query($consulta)) {
/* obtener un array asociativo de cada fila */
while ($fila = $resultado->fetch_assoc()) {
/* Mostrar la fila */
printf ("%s (%s)\n", $fila["Nombre"], $fila["Codigo"]); }
/* liberar el conjunto de resultados */
$resultado->free();
}
/* cerrar la conexión */
$mysqli->close();
?>
También podés usar foreach. En este caso podrías obtener todas las filas (en lugar de fila por fila, con fetch_assoc() ) y recorrer el array asociativo devuelto usando foreach. Para esto usarías fetch_all():
Código PHP:
Ver original<?
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");
/* verificar la conexión */
if ($mysqli->connect_errno) {
printf("Conexión fallida: %s\n", $mysqli->connect_error); }
$consulta = "SELECT Nombre, Codigo FROM Ciudades ORDER by ID DESC LIMIT 50,5";
/* Realizar consulta */
if ($resultado = $mysqli->query($consulta)) {
/* obtener un array asociativo de todo el resultado */
$resultado_array = $resultado->fetch_all(MYSQLI_ASSOC); // MYSQLI_ASSOC indica que el array debe ser asociativo
/* Recorrer array de resultados y mostrar fila por fila */
foreach ($resultado_array as $fila) {
/* Mostrar la fila */
printf ("%s (%s)\n", $fila["Nombre"], $fila["Codigo"]); }
/* liberar el conjunto de resultados */
$resultado->free();
}
/* cerrar la conexión */
$mysqli->close();