begin process at 2012 05 30 19:49:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Interroger une bdd aleatoirement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Interroger une bdd aleatoirement

mercredi 6 juin 2007 à 15:06:51 | Interroger une bdd aleatoirement

wadpap13

Bonjour à tous !!


Je souhaite interrogé ma bdd de manière aleatoire en fonction d'un ID.
Imaginons une table avec des clients, je souhaiterais selectionnée une rangée de facon aleatoire et apres faire une sorte de boucle pour continuer a interroger ma table mais en invitant de relire les rangées deja selectionnées.

Merci d'avance pour votre aide !!!
mercredi 6 juin 2007 à 15:26:39 | Re : Interroger une bdd aleatoirement

putch

salut !

rand() pour l'aléatoire
ensuite tu stocke les ID parcouru au fur et a mesure dans un tableau en vérifiant que l'ID sorti n'est pas dans le tableau

++


ps : je saispas si je suis clair ^^
mercredi 6 juin 2007 à 15:37:39 | Re : Interroger une bdd aleatoirement

wadpap13

En fait, tu le serais plus si tu donnais un petit exemple...

Merci pour ton aide en tout cas !!
mercredi 6 juin 2007 à 15:44:27 | Re : Interroger une bdd aleatoirement

J_G

Salut,

L'idée de putch est tout à fait viable... Je veux juste en présenter une autre, l'utilisation de la fonction rand() coté MySQL :

SELECT * FROM clients ORDER BY rand()


C'est une autre solution qui a le mérite de ne pas faire de boucle en PHP et limite donc à une seule requête SQL

A+
mercredi 6 juin 2007 à 15:49:57 | Re : Interroger une bdd aleatoirement

wadpap13

Ok j'ai compris je te remercie. Pendant que j'y suis j'en profite :

Pour chaque client selectionné j'ai des modifs à effectuer sur la table. Donc est ce que ta requete me selectionne bien 1 seule rangée à la fois ? Et est ce je peux faire une boucle pour dire : je selectionne une ligne aleatoirement, je fais une modif, une fois qu'elle est faite, j'en reselectionne une aleatoirement (sauf celles deja prises evidemment)...


Merci pour votre aide !
mercredi 6 juin 2007 à 15:52:20 | Re : Interroger une bdd aleatoirement

putch

je pensai à ta version en faite ^^

$tab_parcouru = array();

for ( $i = 0 ; $i < 5 : $i++ )
{
    $r = mysql_query(SELECT * FROM clients ORDER BY rand());
    $client = mysql_fetch_assoc($r);

    if ( !in_array($client['id'], $tab_parcouru) )
       $tab_parcouru[] = $client['id'];
    else
       $i--;   //   pour sortir avec forcement 5 clients
}

// tu sors avec les ID aléatoires de ta table client dans $tab_parcouru

voila un exemple

++

mercredi 6 juin 2007 à 16:15:22 | Re : Interroger une bdd aleatoirement

wadpap13

Ok merci pour ton exemple que je comprends à moitié vu mon niveau...

Voici quel est mon code : Aurais tu une idée de comment je pourrais l'appliquer ici ?




<link rel="stylesheet" media="screen" type="text/css" title="index" href="../../../../../../../Design.css" />

<form action="affich.php" method="post">

<?php

$compteur = 0;
echo $compteur;

mysql_connect("localhost","root","");  // Connexion à MySQL
mysql_select_db("poliut"); // Sélection de la base coursphp

$reponse = mysql_query("SELECT * FROM question ORDER BY rand() LIMIT 1");

while ($donnees = mysql_fetch_array($reponse) )
{

?>

// afficher la question dans la bdd

<fieldset>
     <legend>Question</legend>
 
     <table>
         <tr><td>Sujet :</td><td><input type='text' name='question' size='100' value='<?php echo $donnees['question']?>'></td></tr>
         <tr><td>Réponse A :</td><td><input type="submit" name="rep" size='20' value='<?php echo $donnees['rep_a']?>'></td><td>Réponse B :</td><td><input type="submit" name="rep" size='20' value='<?php echo $donnees['rep_b']?>'></td></tr>
  <tr><td>Réponse C :</td><td><input type="submit" name="rep" size='20' value='<?php echo $donnees['rep_c']?>'></td><td>Réponse D :</td><td><input type="submit" name="rep" size='20' value='<?php echo $donnees['rep_d']?>'></td></tr>
 </table>
</fieldset>


</form>
                                                      
</html>

<?php


// Ce qu'il se passe suivant le bouton que le joueur à appuyer
switch ($_POST['rep']) {
      // si rep => rep_a
      case $donnees['rep_a']:
            if ($donnees['rep_a'] == $donnees['rep_good']){
    $compteur++;
    echo $compteur;
   } else echo 'vous avez perdu';
   break;

      // si rep => rep_b
      case $donnees['rep_b']:
            if ($donnees['rep_b'] == $donnees['rep_good']){
    $compteur++;
    echo $compteur;
   } else echo 'vous avez perdu';
   break;

      // si rep => rep_c
      case $donnees['rep_c']:
            if ($donnees['rep_c'] == $donnees['rep_good']){
    $compteur++;
    echo $compteur;
   } else echo 'vous avez perdu';
   break;

      // si rep => rep_d 
   case $donnees['rep_d']:
            if ($donnees['rep_d'] == $donnees['rep_good']){
    $compteur++;
    echo $compteur;
   } else echo 'vous avez perdu';
   break;

}
?>

 

<?php
}

 

 

mysql_close(); // Déconnexion de MySQL
?>





MERCI ENCORE



Cette discussion est classée dans : table, bdd, aleatoire, aleatoirement, interroger


Répondre à ce message

Sujets en rapport avec ce message

upload et BDD [ par filrouge13 ] Bonjour, je suis débutante en php mais j'essaie néanmoins de sortir à petit pas de la programmation toute faite de Dream MX. J'ai fait le tour du for Interroger une table MYSQL [ par themwa059 ] Bonjour, voilà en fait, j'ai crée une table qui s'appelle : 'contact'. Je l'ai relié directement pour que quand quelqu'un envoi un message depuis la r afficher une image stockés dans une BDD [ par caro93150 ] Bonjour à tous,j'ai une table où je stocke mes images :<a href="http://localhost/phpmyadmin/sql.php?db=test&table=images&token=4c86720de6f4dff3603ee97 menu [ par ahlemlo ] bonjour,j'ai une bdd dans cette bdd existe 3 table table famille et table sous famille et table produitj'ai fait un menu et sous menu le menu récupére Menu dynamique + bdd [ par kyript ] Bonjour a tous je cherche a faire un menu avec sous menu dynamique les menu et sous menu irons cherché leurs nom dans une table voici ma table cat update ne change pas ma table [ par dallelism ] salut;voici mon code qu'est faire un update de ma table.le pb est toute est juste la connection à la bdd est faite,la requette affiche qu'elle est cor interroger une table grace a des liste déroulante [ par funeste ] Bonjour,je suis confrontée à un petit probleme qui ne doit pas etre compliqué a résoudre mais, je n'y arrive pas et cela fait quelques semaine que cel Exclure table [ par agenceacapulco ] Bonjour, Je souhaiterais savoir si on peut exclure certaines tables d'une liste deroulante parametrée via maa bdd... car compte tenu que je n'est qu' Script administration table unique bdd SQL [ par allopizza ] Bonjour, je suis à la recherche d'un script opérationnel en php5, me permettant, ce façon très simple : 1) d'ouvrir ma base 2) d'éditer une table pré problème d'écriture dans la bdd pour electronique. [ par Georges97427 ] Je mets mes transfos dans une table de ma base de données . J'ai créé une table (transformateurs). Pour créé la table sous phpAdmin je me heurte à l'é


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,649 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales