IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Php 5 Mysql 5 Selection Aleatoire Compliquee


Sujet :

PHP & Base de données

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Par défaut Php 5 Mysql 5 Selection Aleatoire Compliquee
    Bonjour,
    j'ai une petite question sur laquelle je me prend la tete depuis pas mal de temps, sur php5 avec mysql5.
    En effet j'ai besoin d'une selection aleatoire sur plusieures rows, de donees independantes les unes des autres qui retournera un nombre de enregistrements donés.
    Concretement le schema est le suivant:

    table: NOMS

    id | condition | filles | garcons

    1 1 NULL Pierre
    2 1 Julie NULL
    3 1 Sophie Jacques
    4 0 Catherine Nicolas
    5 1 Anne NULL

    il me faut donc une aide sur la requete precise afin que le select selectionne uniquement les rows dont la condition est "1" de façon aleatoire sur les 2 rows "filles" et "garcons" et ne prend pas en compte les enregistrements qui sont "NULL", afin que le retour soit independant les un des autres, soit pour que l'enregistrement puisse etre aleatoirement affiche et limité a 5 enregistrements retournés. Sur ce schema la:

    Julie et Pierre
    Anne et Jacques
    Sophie et Pierre
    etc.

    J'ai essaye avec ce code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $name_query = mysql_query("select distinct fille, garcon from noms where condition = 1 order by rand() limit 5") or die(mysql_error());
    	  $i = 0;
    	  while ($couples = mysql_fetch_assoc($name_query)){
    	  if($i == 0){
    	  	  echo '<tr><td align="center" valign="middle">';
    		  }
    		  $i++;
    	  echo $couples['filles'] . ' et ' . $couples['garcons'];
    	  if($i == 5){
    	  $i = 0;
    	  echo '</td></tr>';
    	  }
    	  }
    	  ?>

    Mais le probleme c'est que non seulement il me renvoi et affiche aussi les valeurs "NULL" mais en plus la selection n'est pas reelement aleatoire car il met toujours cote a cote les enregistrements qui sont sur la meme ligne dans la base de donee. Or je veux que n'impore quel nom de fille puisse apparaitre avec n'importe quel nom de garçon de façon completement aleatoire a partir du moment oui il rempli la condition "1".

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Pour faire simple, fais le en deux requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    $sqlGarcon = 'SELECT DISTINCT garcons FROM noms WHERE condition = 1  AND garcons IS NOT NULL ORDER BY RAND() LIMIT 5'
     
    $sqlFille = 'SELECT DISTINCT filles FROM noms WHERE condition = 1  AND filles IS NOT NULL ORDER BY RAND() LIMIT 5'
     
    $query1 = mysqli_query($sqlGarcon); 
    $query2 = mysqli_query($sqlFille);
     
    $garcons = mysqli_fetch_row($query1)
    $filles = mysqli_fetch_row($query2)
     
    echo '<tr><td align="center" valign="middle">';
     
    for($i=0;$i<5;$i++){
    echo $filles[$i] . ' et ' . $garcons[$i];
    }
     
    echo '</td></tr>';

Discussions similaires

  1. [MySQL] Selection dans un Formulaire php et Mysql
    Par neutrall dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 25/07/2012, 12h11
  2. [SGBD] Probleme Avec Php et Mysql
    Par junior258 dans le forum Installation
    Réponses: 2
    Dernier message: 20/09/2005, 10h39
  3. Serv apach 2, php 5, mysql 4
    Par Bouki dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 24/06/2005, 15h32
  4. Travailler avec PHP / Apache / MySQL
    Par R3iTt0R dans le forum Linux
    Réponses: 22
    Dernier message: 24/06/2004, 11h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo