Autor Tema: Ejemplo consulta PHP MySql. SELECT. Bucle while, mysqli_fetch_array: recorrer re  (Leído 2961 veces)

oscar_a

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Hola, estoy teniendo problemas a la hora de hacer el segundo ejerciocio el cual es:
"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."
Me dice que hay se excedio el tiempo maximo de ejecucion en la la linea 44

Este es mi codigo

<!DOCTYPE <!DOCTYPE html>
<html>
<head>
   <title>Ciclos en consultas</title>
   <meta charset="utf-8">
</head>
<body>
      <?php
         $contador = 0;
         $link = mysqli_connect('mysql.hostinger.mx','u906820414_o','pbdl2016');//Hacer la conexion
         mysqli_select_db($link,'u906820414_php');//Seleccionar la base de datos
         $result = mysqli_query($link, "SELECT * FROM Agenda");
         echo 'Los resultados de la consulta a la base de datos son los siguientes:<br/>';
         $extraido = mysqli_fetch_array($result);
          while ($extraido != NULL )
          {
             echo $extraido['nombre'].'<br/>';
              if ( stripos ( $extraido["nombre"],"M" ) === 0 )
              {
                  $contador ++;
              }
              $extraido = mysqli_fetch_array ( $result );
          }
          echo "Resultado: " . $contador;
         
         mysqli_free_result($result);
         mysqli_close($link);
         ?>
         <?php
         echo '<hr/>';
         echo '<h4>Ejercicio 2<h1>';
         $habitantes = 0;
         $metro = 0;
         $tmp = 0;
         $tmp1 = 0;
         $con = mysqli_connect('mysql.hostinger.mx','u906820414_o','pbdl2016');//Hacer la conexion
         mysqli_select_db($con,'u906820414_php');//Seleccionar la base de datos
         $result = mysqli_query($con, "SELECT * FROM Ciudades");
         $extraido = mysqli_fetch_array($result);
         while ($extraido != NULL )
          {
            $extraido["Habitantes"] = $tmp;
            $habitantes = $habitantes + $tmp;
            $extraido["TieneMetro"] = $tmp1;
            $metro = $metro + $tmp1;
             
          }
          echo "La suma de habitantes de México D.F., Barcelona, Buenos Aires, Medellín, Lima, Caracas, Santiago, Antigua, Quito y La Habana es: " . $habitantes;// ESTA ES LA LINEA DONDE OCURRE EL ERROR
          echo '<br/>';
          echo 'De estas ciudades tienen metro: '.$metro . 'ciudades';

          mysqli_free_result($result);
         mysqli_close($con);
         ?>
      
</body>
</html>

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola oscar_a

Para escribir en los foros es importante seguir las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 sobre cómo escribir código, cómo poner título a los temas, etc. Si no incluyes el código del ejercicio en el título será difícil que obtengas respuesta

Supongo que te refieres al ejercicio CU00842B. Si es así puedes consultar estos hilos con ejemplos de solución:

https://www.aprenderaprogramar.com/foros/index.php?topic=4210.0

https://www.aprenderaprogramar.com/foros/index.php?topic=4565.0


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