Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Bucle infinito

Estas en el tema de Bucle infinito en el foro de PHP en Foros del Web. ¿Cómo se podría solucionar? Código PHP: <?php require ( 'conexion.php' ); $tarea  =  mysql_query  ( "SELECT * FROM contrasenas WHERE 'profesor' = 'DHC'" ); $filas  =  mysql_fetch_assoc  ( $tarea ); ?> <html>     <head> ...
  #1 (permalink)  
Antiguo 19/09/2015, 11:01
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Bucle infinito

¿Cómo se podría solucionar?
Código PHP:
<?php
require ('conexion.php');
$tarea mysql_query ("SELECT * FROM contrasenas WHERE 'profesor' = 'DHC'");
$filas mysql_fetch_assoc ($tarea);
?>
<html>
    <head>
        <link href="styles/styles.css" rel="stylesheet"/>
    </head>
    <body>
    <div id="franjaPequena">USUARIO</div>
    <div id="cabecera">Gestor de contraseñas</div>
    <table width="100%" border="1" style="border-collapse:collapse">
    <tr id="Tec">
        <td width="50%" align="center" valign="middle"><p>Descripción</p></td>
        <td width="25%" align="center" valign="middle"><p>Usuario</p></td>
        <td width="25%" align="center" valign="middle"><p>Contraseña</p></td>
    </tr>
        <?php
            
while ($filas <= $i){
                echo 
'<tr id="Tec"><td width="50%" align="center" valign="middle"><p>Descripción</p></td><td width="25%" align="center" valign="middle"><p>Usuario</p></td><td width="25%" align="center" valign="middle"><p>Contraseña</p></td></tr>';
                
$i++;
            }
        
?>
    </table>
    </body>
</html>
Código PHP:
Ver original
  1. <?php
  2. require ('conexion.php');
  3. $tarea = mysql_query ("SELECT * FROM contrasenas WHERE 'profesor' = 'DHC'");
  4. $filas = mysql_fetch_assoc ($tarea);
  5. ?>
  6. <html>
  7.     <head>
  8.         <link href="styles/styles.css" rel="stylesheet"/>
  9.     </head>
  10.     <body>
  11.     <div id="franjaPequena">USUARIO</div>
  12.     <div id="cabecera">Gestor de contraseñas</div>
  13.     <table width="100%" border="1" style="border-collapse:collapse">
  14.     <tr id="Tec">
  15.         <td width="50%" align="center" valign="middle"><p>Descripción</p></td>
  16.         <td width="25%" align="center" valign="middle"><p>Usuario</p></td>
  17.         <td width="25%" align="center" valign="middle"><p>Contraseña</p></td>
  18.     </tr>
  19.         <?php
  20.             while ($filas <= $i){
  21.                 echo '<tr id="Tec"><td width="50%" align="center" valign="middle"><p>Descripción</p></td><td width="25%" align="center" valign="middle"><p>Usuario</p></td><td width="25%" align="center" valign="middle"><p>Contraseña</p></td></tr>';
  22.                 $i++;
  23.             }
  24.         ?>
  25.     </table>
  26.     </body>
  27. </html>
  #2 (permalink)  
Antiguo 19/09/2015, 13:13
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Bucle infinito

Tu planteamiento está mal porque:

1- Asignas a $filas solo el primer registro obtenido de la consulta
2- $filas es un array y si comparas con entero, no es muy viable que el resultado sea el esperado
3- No estás definiendo $i y, después, lo vas incrementando; suponiendo que la comparación haga que $filas tenga un valor numérico, siempre será menor que $i

Eliminando la asignación de $filas en la parte superior, tu while() debería ser más o menos:
Código PHP:
Ver original
  1. while($fila = mysql_fetch_assoc ($tarea)) {
  2.     // No le veo mucho sentido a esto porque solo tienes constantes
  3.     // Supongo que deberás reemplazar los títulos por los campos correspondientes
  4.     echo '<tr id="Tec"><td width="50%" align="center" valign="middle"><p>Descripción</p></td><td width="25%" align="center" valign="middle"><p>Usuario</p></td><td width="25%" align="center" valign="middle"><p>Contraseña</p></td></tr>';
  5. }
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 19/09/2015, 17:35
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Bucle infinito

Cita:
Iniciado por Triby Ver Mensaje
Tu planteamiento está mal porque:

1- Asignas a $filas solo el primer registro obtenido de la consulta
2- $filas es un array y si comparas con entero, no es muy viable que el resultado sea el esperado
3- No estás definiendo $i y, después, lo vas incrementando; suponiendo que la comparación haga que $filas tenga un valor numérico, siempre será menor que $i

Eliminando la asignación de $filas en la parte superior, tu while() debería ser más o menos:
Código PHP:
Ver original
  1. while($fila = mysql_fetch_assoc ($tarea)) {
  2.     // No le veo mucho sentido a esto porque solo tienes constantes
  3.     // Supongo que deberás reemplazar los títulos por los campos correspondientes
  4.     echo '<tr id="Tec"><td width="50%" align="center" valign="middle"><p>Descripción</p></td><td width="25%" align="center" valign="middle"><p>Usuario</p></td><td width="25%" align="center" valign="middle"><p>Contraseña</p></td></tr>';
  5. }
Muchas gracias, todo perfecto por el momento.

Etiquetas: bucle, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:11.