Autor Tema: Duda ejercicio PHP CU00841B mysqli_connect, mysqli_select_db, mysqli_query  (Leído 4178 veces)

erniker

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 45
    • Ver Perfil
Hola otra vez.
Este es el enunciado:
Utilizando la tabla <<ciudades>> que hemos creado para el ejercicio de la entrega anterior del curso, cuyo contenido era:
Pongo link a la entrega mejor :P: https://www.aprenderaprogramar.es/index.php?option=com_content&view=article&id=612:php-consultas-mysql-mysqliconnect-selectdb-query-fetcharray-freeresult-close-ejemplos-cu00841b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193

Crea un archivo php donde se realice una consulta a la base de datos para extraer todos los datos de la tabla y a continuación muestra por pantalla los valores de país y ciudad de cada fila.

Ejemplo de resultados a obtener:

Los resultados de la consulta a la base de datos son los siguientes:

País: México --- Ciudad: México D.F.

País: España --- Ciudad: Barcelona

País: Argentina --- Ciudad: Buenos Aires


Mi codigo es:
Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
</head>
<body>
<?php //Ejemplo aprenderaprogramar.com
$link mysql_connect("sql311.byethost7.com""b7_15257931""199199");
mysql_select_db("b7_15257931_nombreElegido"$link);
mysql_query("SET NAMES 'utf8'"); //Para que se muestren las tildes
$result mysql_query("SELECT * FROM ciudades"$link);
for ($i 0$i<=count($result); $i++){
echo"Pais: ".mysql_result($result$i"pais")."<br>";
echo"Ciudad: ".mysql_result($result$i"ciudad")."<br>";
}
mysql_free_result($result);
mysql_close($link);
?>

</body>
</html>
El problema es que solo me presenta en pantalla esto:
Pais: México
Ciudad: México D.F.
Pais: España
Ciudad: Barcelona
Es decir, solo me toma las dos primeras filas de la tabla... no las 10... supongo que me habré equivocado a la hora de tomar la bariable para el bucle... pero ni idea...
Gracias!
« Última modificación: 03 de Noviembre 2014, 23:46 por Alex Rodríguez »

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Duda en entrega de PHP CU00841B
« Respuesta #1 en: 03 de Noviembre 2014, 13:17 »
Hola, el código normalmente debería usar mysqli en lugar de mysql, excepto si tu servidor no te admite mysqli.

También la extracción de datos deberás hacerla con un bucle while en lugar de con un bucle for, en general.

Aunque en esta entrega creo que no se habla nada de bucles, simplemente de extraer los datos, con lo que tendrías que hacer la extracción de datos uno a uno manualmente, y en las siguientes entregas ya trabajar con bucles.

Yo he probado pero me da un error en el acceso a base de datos, creo que alguno de los datos de la conexión puede ser erróneo (quizás este: b7_15257931_nombreElegido, resulta raro).

Lo primero que deberías hacer es probar a extraer los datos uno a uno, y luego si eso te funciona, intentarlo con un bucle.

El código que he probado yo pero no me funciona es:

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
</head>
<body>
<?php //Ejemplo aprenderaprogramar.com
$link mysqli_connect("sql311.byethost7.com""b7_15257931""199199");
mysqli_select_db($link"b7_15257931_nombreElegido");
$tildes $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes
$result mysqli_query($link"SELECT * FROM ciudades");
while ($fila mysqli_fetch_array($result)){
echo "- País: ".$fila['pais']."<br/> ";
echo "- Ciudad: ".$fila['ciudad']."<br/> ";

}
mysqli_free_result($result);
mysqli_close($link);
?>

</body>
</html>


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".