Foros del Web » Programando para Internet » PHP »

Random pero sin repetir ?

Estas en el tema de Random pero sin repetir ? en el foro de PHP en Foros del Web. Pues nesecito generar aleatoriamente un resultado desde un TXT. Código PHP: <? $file  =  "quotes.txt" ; $quotes  =  file ( $file ); echo  $quotes [ ...
  #1 (permalink)  
Antiguo 24/08/2005, 11:10
Avatar de TW3
TW3
 
Fecha de Ingreso: diciembre-2004
Mensajes: 45
Antigüedad: 13 años
Puntos: 0
Random pero sin repetir ?

Pues nesecito generar aleatoriamente un resultado desde un TXT.

Código PHP:
<?
$file 
"quotes.txt";
$quotes file($file);
echo 
$quotes[rand(0sizeof($quotes)-1)];
?>
Por medio de este codigo lo logro, Pero no hay alguna forma de que no repita resultados ?

digamos tengo 10 frases que me muestre las 10 random pero sin repetir ninguna, se puede hacer ?
__________________
JuegosXD :arriba:
  #2 (permalink)  
Antiguo 24/08/2005, 20:05
Avatar de TW3
TW3
 
Fecha de Ingreso: diciembre-2004
Mensajes: 45
Antigüedad: 13 años
Puntos: 0
Up..

Alguien sabe?
__________________
JuegosXD :arriba:
  #3 (permalink)  
Antiguo 24/08/2005, 20:09
Avatar de adriancid  
Fecha de Ingreso: abril-2005
Ubicación: Versalles, Santiago de Cuba, Cuba
Mensajes: 53
Antigüedad: 12 años, 7 meses
Puntos: 0
Si puedes hacerlo guardando en un arreglo por ejemplo los numeros que han salido en llamadas anteriores luego si el nuevo valor generado no esta en el arreglo porcedes a mostrar la frase
  #4 (permalink)  
Antiguo 25/08/2005, 16:23
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 12 años, 5 meses
Puntos: 5
Tambien puedes usar una tabla de base de datos para los resultados, esto da la posibilidad de tener un campo de visto ( 1 y 0 ) para cada resultado, luego que ya salieron todos puedes hacer que borre la bandera visto de todos menos el ultimo poniendolos a 0.

Cuando vuelvas a comenzar con rand() la seleccion la va a hacer entre los resultados quitando el ultimo para evitar que te junte dos iguales.

Saludos
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
  #5 (permalink)  
Antiguo 25/08/2005, 16:57
 
Fecha de Ingreso: octubre-2003
Mensajes: 49
Antigüedad: 14 años, 1 mes
Puntos: 0
Concuerdo con adriancid ya que me parece mas practico este metodo.

es solo cosa de comparar y nada mas.

suerte :0
  #6 (permalink)  
Antiguo 26/08/2005, 14:30
Avatar de ivaanadame  
Fecha de Ingreso: agosto-2005
Ubicación: México
Mensajes: 141
Antigüedad: 12 años, 3 meses
Puntos: 0
me parece que lo que te puede funcionar es que hagas otro archivo que guarde una variable con el random actual

y luego solo comprobar
__________________
Recetas de Cocina | http://www.comidasypostres.com
  #7 (permalink)  
Antiguo 23/09/2005, 12:37
Avatar de TW3
TW3
 
Fecha de Ingreso: diciembre-2004
Mensajes: 45
Antigüedad: 13 años
Puntos: 0
Cita:
Iniciado por adriancid
Si puedes hacerlo guardando en un arreglo por ejemplo los numeros que han salido en llamadas anteriores luego si el nuevo valor generado no esta en el arreglo porcedes a mostrar la frase
Como puedo guardarel arreglo ?
__________________
JuegosXD :arriba:
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:57.