Autor Tema: PHP posicionarse en una fila de la base de datos con mysqli_data_seek CU00841B  (Leído 2188 veces)

sergiosacek

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
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
« Última modificación: 07 de Agosto 2016, 15:29 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
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

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".