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

Langage PHP Discussion :

Jointure - Aide


Sujet :

Langage PHP

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 Jointure - Aide
    Bonjour,

    J'ai une grosse lacune sur un point crucial dans le developpement de mes sites, j'ai deja fait des recherches mais je n'arrive pas a comprendre le systeme des jointures, voici un exemple qui apparait souvent dans mes sites:

    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
     
    	$query78="SELECT * FROM donnee_perso where annonce='".enr_data($annonce)."' and 
     
    affich='0'";
    	$result78=mysql_query($query78);
    	$n78=mysql_num_rows($result78);
    	for ($i78=0; $i78<$n78; $i78++)
    	{
    		$donneeid=@mysql_result($result78,$i78,"donnee");
     
    		$rajoutid.=" and id!='$donneeid'";
    	}
     
     
    	$query79="SELECT * FROM donnee where affich='1'$rajoutid";
    	$result79=mysql_query($query79);
    en fait le but de cet exemple c'est que la requete $query79 sortent tous les enregistrement avec la condition affich='1' et la condition que le id de la table 'donnee' ne soit pas blackliste dans une table 'nommee donnee_perso'

    Mon but final est de faire une seule requete ($query79) qui engloble ma combine ($query78), je suppose qu'il faille faire une jointure ou quelque de ce genre.

    Si quelqu'un pouvait m'aider a faire cette requete, qui doit etre assez simple pour vous

    Merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu peux utiliser NOT IN et une sous requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM donnee WHERE affich=1 
    AND id NOT (SELECT id FROM donnee_perso WHERE annonce='".enr_data($annonce)."' AND affich=0)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    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
    Merci ça marche (c'est un peu tardif, je n'ai pas eu de mail nouvelle réponse)

Discussions similaires

  1. Jointure LEFT OUTER JOIN , aide demandée :)
    Par fraginfo dans le forum Requêtes
    Réponses: 3
    Dernier message: 24/10/2006, 12h02
  2. Aide sur jointure externe
    Par viny dans le forum Langage SQL
    Réponses: 5
    Dernier message: 01/09/2006, 17h51
  3. [Débutant] Aide sur jointure
    Par chapron dans le forum Langage SQL
    Réponses: 1
    Dernier message: 01/09/2006, 00h00
  4. recherche aide pour requete avec jointure
    Par nebil dans le forum Requêtes
    Réponses: 5
    Dernier message: 21/08/2006, 18h03
  5. [Oracle] : demande d'aide pour une jointure
    Par Gouzoul dans le forum Langage SQL
    Réponses: 10
    Dernier message: 27/04/2006, 12h39

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