Foros del Web » Programando para Internet » PHP »

Volver al principio en una consulta MySql

Estas en el tema de Volver al principio en una consulta MySql en el foro de PHP en Foros del Web. Buenas a todos Seguro que esto es una pregunta de cajón y me gustaría resolverla porque no acabo de ver explicación. Necesito recorrer varias veces ...
  #1 (permalink)  
Antiguo 23/07/2008, 08:24
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 16 años, 5 meses
Puntos: 1
Pregunta Volver al principio en una consulta MySql

Buenas a todos

Seguro que esto es una pregunta de cajón y me gustaría resolverla porque no acabo de ver explicación.

Necesito recorrer varias veces las filas de una tabla para imprimir disitintos valores segun los necesite, pero necesito indicar la consulta mysql varias veces porque este ejemplo simplemente NO funciona.

Código:
//$conexion ya fue definida antes

$consulta = mysql_query("SELECT * FROM my_tabla", $conexion);

while($row = mysql_fetch_row($consulta))
	echo "$row[0] <br>";

echo "<br>espacio<br>";

while($row = mysql_fetch_row($consulta)) //DEBERIA VOLVER A IMPRIMIR los registros
	echo "$row[0] <br>";
Mil gracias de antemano y un saludo
  #2 (permalink)  
Antiguo 23/07/2008, 08:32
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Volver al principio en una consulta MySql

Que tal xenon254, si lo que deseas es listar todos los valores de tu array de consulta debes indicarlos cada uno, por ejemplo, $row[0] sería el código, $row[1] nombre y así sucesivamente.

Código PHP:
$consulta mysql_query("SELECT * FROM my_tabla"$conexion) or die("Error en la consulta:".mysql_error() );
while(
$row mysql_fetch_row($consulta)){
echo 
$row[0];
echo 
$row[1];
echo 
$row[2];} 
Saludos.
  #3 (permalink)  
Antiguo 23/07/2008, 08:38
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: Volver al principio en una consulta MySql

no se si es lo que necesitas pero para volver a recorrer desde cero la consulta (resetearla)
utiliza mysql_data_seek($sql,0);

nota: $sql=mysql_quey($select * from table);
  #4 (permalink)  
Antiguo 23/07/2008, 08:40
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Volver al principio en una consulta MySql

Gracias Carlojas

Pero eso no es lo que necesito, sino mostrar varias veces el mismo dato pero controlandolo con IF por ejemplo.

Código:
$consulta = mysql_query("SELECT sexo, nombre FROM my_tabla", $conexion);

//solo imprime mujeres
while($row = mysql_fetch_row($consulta))
	if ($row[0]=="mujer")
		echo "$row[1] <br>";

echo "<br>separador<br>";

//solo imprime hombres
while($row = mysql_fetch_row($consulta))
	if ($row[0]=="hombre")
		echo "$row[1] <br>";
  #5 (permalink)  
Antiguo 23/07/2008, 08:42
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 15 años, 11 meses
Puntos: 11
Respuesta: Volver al principio en una consulta MySql

Hola xenon254,

La solucion :
Código PHP:
mysql_data_seek  $consulta  ); 
Colócalo antes de empezar el segundo while.

Fuente: http://ar2.php.net/manual/es/functio...-data-seek.php



Editado: ACX_POISON ya lo respondio antes...
  #6 (permalink)  
Antiguo 23/07/2008, 08:43
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Volver al principio en una consulta MySql

ACX_POISON & xbx gracias, eso es lo que buscaba!!

Un saludo

Última edición por xenon254; 23/07/2008 a las 08:44 Razón: Ampliar agradecimientos
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 07:38.