Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2924 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Un problème simple[résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Un problème simple[résolu]

n°1455812
top_rem
Posté le 12-10-2006 à 08:09:38  profilanswer
 

Bonjour,
 
Je cherche à faire afficher une selection aléatoire dans une liste d'id, le problème c'est que dans ma liste d'id qui va de 1 à 55 (aujourd'hui, mais augmente régulèrement) j'ai des trous càd que, j'ai par exemple 1 3 4 5 6 9 10 13 .... mon problème dans mon code est que il ne m'affiche rien quand je tombe sur une id qui n'existe pas.
 
je cherche un moyen pour dire de refaire un rand si je tombe sur une id qui n'exite pas.
 
voilà le code que j'ai fait (soyez indulgent je suis un noob)
 

Code :
  1. mysql_connect($db_host, $db_user, $db_pass)
  2.    or die ("Unable to connect to database." );
  3.   mysql_select_db($db_database)
  4.    or die ("Unable to select database." );
  5. $req = mysql_query("SELECT MAX(id) FROM files" );
  6.      $id_max = mysql_result($req,0);
  7.     
  8.   $id=rand(1,$id_max);
  9.   $sql = "SELECT * FROM files WHERE id = $id";
  10.   $result = mysql_query($sql);
  11.   if ($row = mysql_fetch_array($result))
  12.   {
  13.   ?>
  14.    <center><BR><BR><BR>
  15.    <a href="../gestion_videos.php?func=fileinfo&id=<?php echo $row[id];?>">
  16.    <?php echo $row["filename"]; ?><BR><BR>
  17.    <BR><?php echo $row["image"]; ?><BR></a><BR>
  18.    </center>
  19.   <?
  20.   } else {
  21.   echo "   ";
  22.     }
  23.   return;


Message édité par top_rem le 12-10-2006 à 13:14:19
mood
Publicité
Posté le 12-10-2006 à 08:09:38  profilanswer
 

n°1455845
anapajari
s/travail/glanding on hfr/gs;
Posté le 12-10-2006 à 10:19:22  profilanswer
 

Code :
  1. SELECT * FROM tbl_name ORDER BY RAND() LIMIT 10


Et si tu en veux plus de 10, bin tu changes le limit 10 ;)

n°1455905
top_rem
Posté le 12-10-2006 à 11:32:00  profilanswer
 

je veux une id parmis celle qui sont dispo , je fixe la limite en cherchant la plus grande id et après je fait un rand en limitant avec mon maxi, mais parfois l'id est pas valide suis à des effacement de ligne dans ma base. Donc je cherche à refaire la boulce si l'id est pas bonne (en gros).
 
Merci de votre aide :jap:


Message édité par top_rem le 12-10-2006 à 11:32:28
n°1455909
anapajari
s/travail/glanding on hfr/gs;
Posté le 12-10-2006 à 11:34:25  profilanswer
 

oui bin c'est stupide hein :o
lis le paragraphe sur "order by rand" là: http://dev.mysql.com/doc/refman/5. [...] tions.html
 
Mysql fait ça tout seul et tu n'as pas besoin de t'amuser à calculer le nombre au hasard et vérifier que celui-ci existe bel et bien dans ta table!
edit: Et si tu veux "un" seul enregistrement, tu fais un limit 1


Message édité par anapajari le 12-10-2006 à 11:35:03
n°1455982
top_rem
Posté le 12-10-2006 à 13:14:01  profilanswer
 

ok Merci de ton aide


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Un problème simple[résolu]

 

Sujets relatifs
problème avec SQL serveur 2000[MySQL] probleme de lenteur depuis un reboot du serveur
taille du tableau avec XML:Simple et option du module[RESOLU] Réinitialiser une ListBox
Classes imbriquées [résolu][VBA excel] Récupérer dans 1 listbox le resultat d'1 AutoFilter!résolu
framrate dependant (probleme de math algo plus que de C/C++...)[Résolu] Probleme boucle toute simple pourtant
[JS] probleme simple de portée de variable[Résolu]Probleme d'une simple expression reguliere [RESOLU]
Plus de sujets relatifs à : Un problème simple[résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR