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!