Foros del Web » Programando para Internet » PHP »

Problema con ciclo for

Estas en el tema de Problema con ciclo for en el foro de PHP en Foros del Web. Hola. Resulta que necesito poder imprimir por pantalla los resultados Que tengo en una base de datos, los resultados los cargo a un archivo XML ...
  #1 (permalink)  
Antiguo 07/12/2009, 13:13
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 17 años, 4 meses
Puntos: 0
Problema con ciclo for

Hola.
Resulta que necesito poder imprimir por pantalla los resultados Que tengo en una base de datos, los resultados los cargo a un archivo XML por medio de una consulta que hago con PHP a mi base de datos. Resulta que el primer valor almacenado en registro[0] es un valor numerico que como esta en un ciclo deberiar aumentar (1,2,3.....N) y posteriormente lo ocupo para hacer otra consulta y poder traer los datos que necesito mostrar. Pero resulta que siempre ese registro[0] esta en 1 y solo se ejecuta la consulta 1 sola vez y no sige avanzando. Y el problema es que son mas los datos que hay en mi base de datos y quiero por mostrarlos.
Nosé si sera que estoy haciendo mal algún ciclo o que.

Aqui dejo mi codigo

Código PHP:
    //Ejecucion de la consulta SQL.
    
$resultado mysql_query($consulta,$conexion) or die ('Error en la consulta SQL, el error es : '.mysql_error());
    
//Comprobación de la existancia de algún resultado.
    
if (mysql_num_rows($resultado))
    {
        echo 
'<guias_de_servicio>';
        
//Se recupera el registro en un array.
        
for ($i 0;$i <= mysql_num_rows($resultado)-1$i++)
        {
            if (!
mysql_data_seek($resultado$i))
            {
                echo 
"No se puede mostrar la fila ".$i.", el error es: ".mysql_error();
                continue;
            }
            if (!(
$registro mysql_fetch_row($resultado)))
            {
                continue;
            }
            echo 
'<guia>';
                echo 
'<numero>'.$registro[0].'</numero>';
                echo 
'<fecha>'.$registro[1].'</fecha>';
                echo 
'<rut_cliente>'.$registro[2].'</rut_cliente>';
                echo 
'<g5081>'.$registro[3].'</g5081>';
                echo 
'<id_contrato>'.$registro[4].'</id_contrato>';
                echo 
'<relleno>'.$registro[5].'</relleno>';
                echo 
'<ticket>'.$registro[6].'</ticket>';
                echo 
'<estado_guia>'.$registro[7].'</estado_guia>';
                
$consulta 'SELECT numero_linea, cantidad, volumen FROM cuerpo_guia_servicio WHERE numero_guia_servicio = '.$registro[0].'';
                
//echo("$registro[0]");
                //Ejecucion de la consulta SQL.
                
$resultado mysql_query($consulta,$conexion) or die ('Error en la consulta SQL, el error es : '.mysql_error());
                
//Comprobación de la existancia de algún resultado.
                
if (mysql_num_rows($resultado))
                {
                    
                    
//Se recupera el registro en un array.
                    
for ($i 0;$i <= mysql_num_rows($resultado)-1$i++)
                    {
                        if (!
mysql_data_seek($resultado$i))
                        {
                            echo 
"No se puede mostrar la fila ".$i.", el error es: ".mysql_error();
                            continue;
                        }
                        if (!(
$detalle mysql_fetch_row($resultado)))
                        {
                            continue;
                        }
                        echo 
'<linea'.$detalle[0].'>'.$detalle[0].'</linea'.$detalle[0].'>';
                        echo 
'<cantidad'.$detalle[0].'>'.$detalle[1].'</cantidad'.$detalle[0].'>';
                        echo 
'<volumen'.$detalle[0].'>'.$detalle[2].'</volumen'.$detalle[0].'>';
                    }
                }
                echo 
'<nombre_recepcion>'.$registro[8].'</nombre_recepcion>';
                echo 
'<rut_recepcion>'.$registro[9].'</rut_recepcion>';
                echo 
'<inicio>'.$registro[10].'</inicio>';
                echo 
'<termino>'.$registro[11].'</termino>';
                echo 
'<valor>'.$registro[12].'</valor>';
                echo 
'<rut_chofer>'.$registro[13].'</rut_chofer>';
                echo 
'<observacion>'.$registro[14].'</observacion>';
            echo 
'</guia>';
        }
        echo 
'</guias_de_servicio>'

Gracias!
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"
  #2 (permalink)  
Antiguo 07/12/2009, 13:23
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 3 meses
Puntos: 105
Respuesta: Problema con ciclo for

facilmente es por que tienes dos for, y ambos tienen como indice la variable $i.....
cambia una de ellas, quizas por $j o ya tu ve.

espero te salga bien.

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #3 (permalink)  
Antiguo 07/12/2009, 15:34
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Problema con ciclo for

Modifique el nombre de las variables del for que esta dentro del otro y lo pude solucionar, no se me habia ocurrido que el nombre de las variables era el problema.

Gracias!
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"
  #4 (permalink)  
Antiguo 07/12/2009, 15:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema con ciclo for

Cita:
Iniciado por Capote Ver Mensaje
Modifique el nombre de las variables del for que esta dentro del otro y lo pude solucionar, no se me habia ocurrido que el nombre de las variables era el problema.

Gracias!
pues de hecho tiene mucho sentido...

osea, si declaras una variable $x en un ciclo... y dentro de ese ciclo modificas esa variable $x obviamente cambias el comportamiento...

eso se le conoce como contexto de las variables, ¿de verdad no se te había ocurrido??


ej. entras a una casa con 10 chocolates, dentro de la casa comen chocolates y viven 8 personas... ya regalaste un chocolate al portero, y uno mas es tuyo...

pero se te ocurre entrar al cuarto de los niños ¡y ahí comen bastante chocolate!!

cuando regresas a la sala... ya no tienes mas chocolates... o bien, los chicos te dieron caramelos para compensar los chocolates..


como puedes notar, el concepto es idéntico... mientras mas profundices en tus ciclos, usando la misma variable... pues problemas vas a tener!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 07/12/2009, 15:43
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 3 meses
Puntos: 105
Respuesta: Problema con ciclo for

asu amigo pateketrueke ese ejemplo de los chocolates te quedo de pelos...... hahaha

Bueno no se si el lo entienda, pero el hecho es que cada bucle debe tener su propio indice.

Dios os Bendiga a Toos.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #6 (permalink)  
Antiguo 07/12/2009, 17:14
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Problema con ciclo for

Clarisimo el ejemplo, estaba nublado y no daba con la solución

Saludos!
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"
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:36.