Foros del Web » Programando para Internet » PHP »

imprimir 2 veces el mismo recorset

Estas en el tema de imprimir 2 veces el mismo recorset en el foro de PHP en Foros del Web. Código PHP: <?php  mysql_select_db ( $database ,  $con ); $query_Noticias  =  "SELECT Idnoticia Title, Texto, Fec_pub FROM noticiario limit 5" ; $Noticias  =  mysql_query ( $query_Noticias ,  $con ) or die( mysql_error ()); $row_Noticias  =  ...
  #1 (permalink)  
Antiguo 30/09/2008, 10:57
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 8 meses
Puntos: 20
Pregunta imprimir 2 veces el mismo recorset

Código PHP:
<?php 
mysql_select_db
($database$con);
$query_Noticias "SELECT Idnoticia Title, Texto, Fec_pub FROM noticiario limit 5";
$Noticias mysql_query($query_Noticias$con) or die(mysql_error());
$row_Noticias mysql_fetch_assoc($Noticias);
$totalRows_Noticias mysql_num_rows($Noticias);
 
?>

Primera:
<?php do{ ?> 
<a href="noticia.php?id=<?php echo $row_Noticias['Idnoticia']; ?>"><?php echo $row_Noticias['Titulo']; ?></a><br />
<?php } while ($row_Noticias mysql_fetch_assoc($Noticias)); ?>

Segunda:
<?php do{ ?> 
<a href="noticia.php?id=<?php echo $row_Noticias['Idnoticia']; ?>"><?php echo $row_Noticias['Titulo']; ?></a><br />
<?php } while ($row_Noticias mysql_fetch_assoc($Noticias)); ?>


La segunda no funciona...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #2 (permalink)  
Antiguo 30/09/2008, 10:59
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 17 años, 1 mes
Puntos: 48
Respuesta: imprimir 2 veces el mismo recorset

Prueba a resetear el array $Noticias con la funcion reset() de php antes de realizar la segunda iteración.

Mas info en http://es.php.net/manual/es/function.reset.php

Saludos!
  #3 (permalink)  
Antiguo 30/09/2008, 11:12
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: imprimir 2 veces el mismo recorset

Código PHP:
<?php  
mysql_select_db
($database$con); 
$query_Noticias "SELECT Idnoticia Title, Texto, Fec_pub FROM noticiario limit 5"
$Noticias mysql_query($query_Noticias$con) or die(mysql_error()); 
$row_Noticias mysql_fetch_assoc($Noticias); 
$totalRows_Noticias mysql_num_rows($Noticias); 
 
?> 

Primera: 
<?php do{ ?>  
<a href="noticia.php?id=<?php echo $row_Noticias['Idnoticia']; ?>"><?php echo $row_Noticias['Titulo']; ?></a><br /> 
<?php } while ($row_Noticias mysql_fetch_assoc($Noticias)); ?> 

Segunda: 
<?php reset($Noticias); do{ ?>  
<a href="noticia.php?id=<?php echo $row_Noticias['Idnoticia']; ?>"><?php echo $row_Noticias['Titulo']; ?></a><br /> 
<?php } while ($row_Noticias mysql_fetch_assoc($Noticias)); ?> 


La segunda no funciona...
ERROR: Warning: reset() [function.reset]: Passed variable is not an array or object in C:\wamp\www\misitio\noticias.php on line 37
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #4 (permalink)  
Antiguo 30/09/2008, 11:19
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 17 años, 1 mes
Puntos: 48
Respuesta: imprimir 2 veces el mismo recorset

Disculpa, mea culpa!

Has de utilizar mysql_data_seek ($Noticias, 0) Siendo 0 la fila inicial.

Mas info en http://es.php.net/manual/es/function...-data-seek.php
  #5 (permalink)  
Antiguo 30/09/2008, 11:24
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: imprimir 2 veces el mismo recorset

Es que estas usando el reset mal. No es a la variable $Noticias. Es a la que contiene el mysql_fetch_array.
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 13:07.