Foros del Web » Programando para Internet » PHP »

Problema con while

Estas en el tema de Problema con while en el foro de PHP en Foros del Web. Hola amigos, tengo un problema pero no puedo divisar el error. Hago una consulta a la base de datos a travez de mysql_query y luego ...
  #1 (permalink)  
Antiguo 21/09/2010, 20:53
 
Fecha de Ingreso: diciembre-2008
Mensajes: 101
Antigüedad: 15 años, 4 meses
Puntos: 0
Problema con while

Hola amigos, tengo un problema pero no puedo divisar el error.
Hago una consulta a la base de datos a travez de mysql_query y luego por cada fila del resultado quiero que imprima los datos. Para esto utilizo la siguiente instruccion while($fila=mysql_fetch_array($result)){

El problema es que solo muestra la primera fila, y con un debuger pude ver que solo entra al while la primera vez. Dejo el codigo para ver si alguien puede ayudarme.

Código PHP:
 <?php
            
            $query
="SELECT * FROM productos_ubic WHERE id_prod='".$id_prod."' ORDER by id_ubic DESC";
            
$result=mysql_query($query$conexion);
            while(
$fila=  mysql_fetch_array($result)){
              
    
?>
        <tr align="left">
         <td >
                  
                <select name="ubicacion_n1" id="ubicacion_n1" tabindex="10" onChange="ub_2()">
                    
                                        <?php
                                            $query
="SELECT * FROM ubicacion_nivel1 WHERE id_nivel1='".$fila[id_nivel1]."'";
                                            
$result=mysql_query($query,$conexion);
                                            while(
$row=  mysql_fetch_array($result)){
                                                echo(
'<option value='.$row[id_nivel1].'>'.$row[detalle].'</option>');
                                            }
                                        
?>
                </select>
          </td>
          <td >
                  
                <select name="ubicacion_n2" id="ubicacion_n2" tabindex="20" onchange="ub_3()">

                                 <?php
                                     
if ($ubicacion_n1 <> "-" ){
                        
$result_id mysql_query("SELECT * FROM ubicacion_nivel2 WHERE id_nivel2='".$fila[id_nivel2]."'"$conexion);
                        while (
$row_id mysql_fetch_array($result_id)){ // ASIGNO A UNA VARIABLE LOS ELEMENTOS DEL ARRAY
                            
$impre '
                            <option value="'
.$row_id["id_nivel2"]."-".$row_id["id_nivel1"]."-".$row_id["detalle"].'">'.$row_id["detalle"].'</option>
                            '
;
                            print 
$impre;
                        }
                    }
                                 
?>
                </select>
                                <input type="hidden" name="oculto_2" id="oculto_2">
          </td>       
          <td>
                  
                <select name="ubicacion_n3" id="ubicacion_n3" tabindex="30" onchange="ub_4()">

                                 <?php
                                     
if ($ubicacion_n2 <> "-" ){
                        
$result_id mysql_query("SELECT * FROM ubicacion_nivel3 WHERE id_nivel3='".$fila[id_nivel3]."'"$conexion);
                        while (
$row_id mysql_fetch_array($result_id)){ // ASIGNO A UNA VARIABLE LOS ELEMENTOS DEL ARRAY
                            
$impre '
                            <option value="'
.$row_id["id_nivel3"]."-".$row_id["id_nivel2"]."-".$row_id["detalle"].'">'.$row_id["detalle"].'</option>
                            '
;
                            print 
$impre;
                        }
                    }
                                 
?>
                </select>
                                 <input type="hidden" name="oculto_3" id="oculto_3">
           </td>
           <td>
                  
                <select name="ubicacion_n4" id="ubicacion_n4" tabindex="40">
                    
                                 <?php
                                     
if ($ubicacion_n3 <> "-" ){
                        
$result_id mysql_query("SELECT * FROM ubicacion_nivel4 WHERE id_nivel4='".$fila[id_nivel4]."'"$conexion);
                        while (
$row_id mysql_fetch_array($result_id)){ // ASIGNO A UNA VARIABLE LOS ELEMENTOS DEL ARRAY
                            
$impre '
                            <option value="'
.$row_id["id_nivel4"]."-".$row_id["id_nivel3"]."-".$row_id["detalle"].'">'.$row_id["detalle"].'</option>
                            '
;
                            print 
$impre;
                        }
                    }
                                 
?>
                </select>
                                 <input type="hidden" name="oculto_4" id="oculto_4">
          </td>
        
            <td>
                    
                <input name="cantidad" type="text" id="cantidad" size="10" maxlength="7" tabindex="50">
            </td>
            <td>
                    
                <input name="unidad" type="text" id="unidad" size="10" maxlength="3" tabindex="60">
            </td>
        <input type="hidden" name="<?php echo 'id_ubic'.$i ?>" id="<?php echo 'id_ubic'.$i ?>" value="<?php echo $fila[id_ubic?>">
                <td>
                    <?php if($consulta <> 1){ ?>
                    <a href="archPhp/baja_ubicacion_producto.php?id_ubic=<?php echo $fila[id_ubic?>&id_prod=<?php echo $id_prod ?>">Eliminar </a>
                  <?php  ?>
                </td>
        </tr>
    <?php ?>
__________________
Gimnasia y Esgrima La Plata, un sentimiento, no trates de entenderlo
  #2 (permalink)  
Antiguo 21/09/2010, 21:07
 
Fecha de Ingreso: diciembre-2008
Mensajes: 101
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema con while

Ya encontre el error.. dentro del while estoy volviendo a usar la variable $result entonces cuando termina el primer ciclo la consulta a la base de datos no devuelve nada. Disculpen las molestias
__________________
Gimnasia y Esgrima La Plata, un sentimiento, no trates de entenderlo

Etiquetas: Ninguno
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 22:49.