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

Requêtes MySQL Discussion :

Requete affiche si pas dans une table


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 32
    Par défaut Requete affiche si pas dans une table
    bonsoir,

    actuellement je fonctionne comme l'exemple ci-dessous pour afficher un enregistrement s'il n'est pas present dans une table de blacklistage:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    	$query="SELECT id,nom FROM qualite order by nom asc";
    	$result=mysql_query($query);
            $nbspaiement = mysql_num_rows($result);
     
    $i = 0;
    while ($i <= $nbspaiement - 1):
     
    	$id_qualite=@mysql_result($result,$i,"id");
    	$nom_qualite=@mysql_result($result,$i,"nom");
     
    	//verification si la qualite n'est pas blackliste
     
    		$query2="SELECT id FROM qualite_blacklist where qualite='".e($id_qualite)."'";
    		$result2=mysql_query($query2);
           		$n2 = mysql_num_rows($result2);
     
    		if ($n2=='0'){
     
    			echo "$id_qualite non blackliste";
     
    			} else {
     
    			echo "$id_qualite blackliste";
    		}
     
     
    $i++;
    endwhile;
    Mais j'aimerai pouvoir le faire en une seule requete mysql (et pas en 2 fois comme dans l'exemple ci-dessus), je ne connait que les jointures et je n'arrive pas a me depatouiller avec, quelqu'un aurait une solution pour afficher un element non blackliste dans une autre table en une seule requete svp ?

    merci de votre aide

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Probablement quelque chose comme ça
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT q.id,
           q.nom, 
           CASE
               WHEN qb.id IS NULL THEN 'non blackliste'
               ELSE 'blackliste'
           END
    FROM qualite q
    LEFT JOIN qualite_blacklist qb
    ON qb.id=q.id;
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

Discussions similaires

  1. Afficher les lignes se trouvant pas dans une table
    Par Invité dans le forum Requêtes
    Réponses: 6
    Dernier message: 11/11/2011, 20h46
  2. Afficher du XML dans une table HTML avec fonction récursive (ou pas)
    Par iviewclear dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 19/04/2010, 18h04
  3. Réponses: 2
    Dernier message: 21/04/2009, 22h10
  4. Réponses: 1
    Dernier message: 21/12/2006, 12h17
  5. Réponses: 10
    Dernier message: 15/12/2006, 08h34

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