Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: sergiosacek en 04 de Agosto 2016, 03:04

Título: PHP posicionarse en una fila de la base de datos con mysqli_data_seek CU00841B
Publicado por: sergiosacek en 04 de Agosto 2016, 03:04
Buenas tardes les envio una posible solucion del ejercicio CU00841B del curso básico de desarrollo web del lado del servidor con PHP.

Código: [Seleccionar]
<html>

<head><meta charset="utf-8"></head>

    <body>
   
<?php
        
$link mysqli_connect("localhost""root""");

mysqli_select_db($link"ciudades");

$tildes $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes

$result mysqli_query($link"SELECT * FROM ciudades");

mysqli_data_seek ($result0);

$extraidomysqli_fetch_array($result);

echo "- País: ".$extraido['pais']." ""--- Ciudad: ".$extraido['ciudad']."<br>";

$extraidomysqli_fetch_array($result1);

echo "- País: ".$extraido['pais']." ""--- Ciudad: ".$extraido['ciudad']."<br>";

$extraidomysqli_fetch_array($result1);

echo "- País: ".$extraido['pais']." ""--- Ciudad: ".$extraido['ciudad']."<br>";

$extraidomysqli_fetch_array($result1);

echo "- País: ".$extraido['pais']." ""--- Ciudad: ".$extraido['ciudad']."<br>";

$extraidomysqli_fetch_array($result1);

echo "- País: ".$extraido['pais']." ""--- Ciudad: ".$extraido['ciudad']."<br>";

$extraidomysqli_fetch_array($result1);

echo "- País: ".$extraido['pais']." ""--- Ciudad: ".$extraido['ciudad']."<br>";

$extraidomysqli_fetch_array($result1);

echo "- País: ".$extraido['pais']." ""--- Ciudad: ".$extraido['ciudad']."<br>";

$extraidomysqli_fetch_array($result1);

echo "- País: ".$extraido['pais']." ""--- Ciudad: ".$extraido['ciudad']."<br>";

$extraidomysqli_fetch_array($result1);

echo "- País: ".$extraido['pais']." ""--- Ciudad: ".$extraido['ciudad']."<br>";

$extraidomysqli_fetch_array($result1);

echo "- País: ".$extraido['pais']." ""--- Ciudad: ".$extraido['ciudad']."<br>";

mysqli_free_result($result);

mysqli_close($link);
        
        
?>

   
    </body>
</html>


Solo tengo una duda, al poner en el codigo $extraido= mysqli_fetch_array($result, 1);
yo deseaba poner 0,1,2,3...9, pero no me arrojaba el resultado deseado, entonces en el codigo solo puse 0,1,1,1,...1 y si me arrojo el resultado deseado.

Eso es correcto o me equivoque en algo.

Saludos
Título: Re:PHP posicionarse en una fila de la base de datos con mysqli_data_seek CU00841B
Publicado por: Alex Rodríguez en 07 de Agosto 2016, 15:30
Hola, lo que ocurre con 0, 1, 1, ... es que mysqli_data_seek ($result, 0); te posiciona inicialmente en la fila 0.

$extraido= mysqli_fetch_array($result); te extrae los contenidos de esa fila

Luego $extraido= mysqli_fetch_array($result, 1); te extrae los datos en la siguiente fila a partir de la fila en la que estés situado, de ahí que al ir escribiendo esto vayas extrayendo filas una por una. Cada vez que invocas esto pasas a la siguiente fila.

Otra opción sería ir posicionándote en las filas una a una, en ese caso lo harías escribiendo mysqli_data_seek ($result, 1); luego mysqli_data_seek ($result, 2); y así sucesivamente como puedes ver en el ejemplo https://www.aprenderaprogramar.com/foros/index.php?topic=4209.0

Tanto la forma en la que lo has hecho tú como la del ejemplo están bien

Saludos