Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: bermartinv en 31 de Marzo 2017, 11:57
-
Adjunto mis soluciones al tema CU00842B del manual de programador web con PHP y editor Notepad++.
Utilizando la tabla agenda que hemos empleado en los ejemplos y funciones para manejo de cadenas PHP, realiza una consulta a la base de datos para extraer todos los nombres y determina cuántos nombres en la base de datos empiezan por M.
Ejemplo de resultados a obtener: En la base de datos los nombres que empiezan por M son: 2
El enlace:
http://cursophp.byethost14.com/aprenderaprogramar/baseDatos/nombresMSQL.php (http://cursophp.byethost14.com/aprenderaprogramar/baseDatos/nombresMSQL.php)
Y el código:
<html><head><meta charset="utf-8"> </head>
<body>
<?php
$contador = 0;
$link = mysqli_connect("sql300.byethost14.com", "b14_19400633", "xxxxxxxx");
mysqli_select_db($link, "b14_19400633_baseDatos");
$tildes = $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes correctamente
echo 'En la base de datos los nombres que empiezan por M son: ';
$result = mysqli_query($link, "SELECT nombre FROM agenda WHERE nombre like 'M%'");
while($filas=mysqli_fetch_array($result)){
echo '<br/>'.$filas['nombre'].'';
$contador++;
}
mysqli_free_result($result);
mysqli_close($link);
echo '<br/>.Son '.$contador.' en total.';
?>
</body></html>
Y par el segundo ejercicio
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 calcula la suma de habitantes de todos los países y cuántas de estas ciudades tienen metro. Muestra el resultado por pantalla.
Ejemplo de resultados a obtener:
La suma de habitantes de México D.F., Barcelona, Buenos Aires, Medellín, Lima, Caracas, Santiago, Antigua, Quito y La Habana es: 5663886 habitantes
De estas ciudades tienen metro: 5 ciudades.
El enlace:
http://cursophp.byethost14.com/aprenderaprogramar/baseDatos/habitantesMetro.php (http://cursophp.byethost14.com/aprenderaprogramar/baseDatos/habitantesMetro.php)
Y el código:
<html><head><meta charset="utf-8"> </head>
<body>
<?php
$link = mysqli_connect("sql300.byethost14.com", "b14_19400633", "xxxxxxxxx");
mysqli_select_db($link, "b14_19400633_baseDatos");
$tildes = $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes correctamente
$result = mysqli_query($link, "SELECT * FROM ciudades");
$contador_ciudades = 0;
echo 'La suma de todos los habitantes en ';
while($filas=mysqli_fetch_array($result)){
$habitantes += $filas['habitantes'];
$metro += $filas['tieneMetro'];
$ciudad[$contador_ciudades] = $filas['ciudad'];
$contador_ciudades++;
}
for ($i=0;$i<$contador_ciudades;$i++){
echo $ciudad[$i].',';
}
echo ' es '.$habitantes;
echo '.Y hay '.$metro.' que tienen metro';
mysqli_free_result($result);
mysqli_close($link);
?>
</body>
</html>
Saludos
-
Hola bermartinv
El ejercicio 1 es correcto.
En el segundo ejercicio tuve que inicializar a cero estas dos variables antes de usarlas dentro del while, sino no me funcionaba:
$habitantes = 0;
$metro = 0;
Con esas dos líneas añadidas, el código me funcionó perfectamente.
Saludos.
-
Gracias pedro,,
A mi me funciona bien sin declarar primero a 0 las variables. De todas maneras la buena formas de escribir codigo con PHP es inicializarlas. Este error es la costumbre de rabajar con otros lenguajes como javaScript que no hace falta inicializarlos y solo con su declaración es suficiente.
Lo dicho, muchas gracias pedro,,