Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/12/2010, 23h23   #1
Invité de passage
 
Inscription : décembre 2005
Messages : 17
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 17
Points : 3
Points : 3
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 :
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
bugbug est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 05h24   #2
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 528
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

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

Informations forums :
Inscription : novembre 2005
Messages : 2 528
Points : 3 519
Points : 3 519
Saluton,
Probablement quelque chose comme ça
Code sql :
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)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h34.


 
 
 
 
Partenaires

Hébergement Web