Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : requête maitre/détail et php [ Archives / Bases de données ] (ejmana)

jeudi 30 décembre 2004 à 19:06:56 | requête maitre/détail et php

ejmana

Bonjour

Voilà mon soucis: je dispose de 2 tables, une contenant un article, avec différentes données, et une contenant les auteurs.
Dans la table article, j'identifie l'auteur par la clef de cet auteur dans la tale auteur.
Jusqu'ici tout va bien.
J'affiche le tout dans une page php (je travaille avec dreamweaver).
Or ma solution de départ, qui consistait à faire
SELECT auteu_nom
FROM auteur, article,
WHERE article.artic_auteur=auteur.auteu_id
c'est à dire, pour moi, "affiche moi le nom que tu as dans auteur quand je te donne l'id d'auteur que j'avais dans article".
Or il se trouve que je suis dans une zone répétée: soit je lui dis que mon id=7 par exemple, et il m'affiche que le nom de l'auteur 7 pour tous les articles, soit je lui fais cette requête et il m'affiche tous les auteurs, puisque tous correspondent à UN id dans la table... Comment lui dire que je veux juste celui de l'id de l'enregistrement affiché?

jeudi 30 décembre 2004 à 20:39:26 | Re : requête maitre/détail et php

GRenard

AND auteur.auteur_id=7 ?
ou sinon DISTINCT ?? très flou ta quesitons !

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
[ Lien ]

jeudi 30 décembre 2004 à 20:48:40 | Re : requête maitre/détail et php

Chouchou182

Salut

Personnellement je lis ta requête comme suis:

"donne-moi le nom de l'auteur pour chacun des articles qui a un auteur"
donc cette requête renvoie la liste des auteurs qui ont écrit un article.

Je te propose donc d'éssayer une requête qui ressemblerait à:

"donne-moi le nom de l'auteur de cet article" soit

SELECT auteu_nom FROM auteur, article
WHERE article.artic_auteur=auteur.auteu_id AND article.artic_id = '7'

La dernière partie de la requête permet de sélectionner un seul article ; j'ai supposé qu'il y a un champ nommé artic_id identifiant un article de manière unique, sinon selon la structure de ta table, il y a nécessairement un moyen d'identifier un article de manière unique (sauf si un article est présent en plusieurs exemplaires...).
Encore plus simple, si tu as déjà effectuée une requête pour récupérer les données de l'article en question, tu connais l'id de l'auteur et donc il te suffit de faire:

SELECT auteu_nom FROM auteur WHERE auteu_id = 'valeur_voulue'

Bonne année

Chouchou

jeudi 30 décembre 2004 à 23:02:59 | Re : requête maitre/détail et php

ejmana

Bon je me suis peut-être mal exprimée
Quand je lui donne
SELECT auteu_nom FROM auteur WHERE auteu_id = 'valeur_voulue'
mon problème c'est valeur voulue:
valeur voulue vaut 1 pr le premier enregistrement, mais 5 pour le 2ème etc.
Donc comment faire pour qu'il comprenne que c'est la variable auteur_id de la table article et pas une valeur fixe? dreamweaver propose bien les passage par variable de ofrumlaire, http etc mais je ne sais pas si je dois en utiliser un et lequel... >_<

vendredi 31 décembre 2004 à 03:06:11 | Re : requête maitre/détail et php

GRenard

... c'est bizarre encore ta question, vérifie ta table, normalement lorsqu'une table à un id, cet id est primaire (ou unique) + auto increment... donc ils sont mis par défaut .
Norlament tu ne devrais PAS les mettre ces variables... si ta ligne 2 vaut auteur_id=5 ca peut très bien arriver...

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
[ Lien ]

vendredi 31 décembre 2004 à 18:03:26 | Re : requête maitre/détail et php

ejmana

Nan mais l problème n'est pas qu'il me sorte id_5, le problème est que je voudrais récupérer auteu_nom where auteu_id=5 et que j'y arrive pas: si je lui dis auteu_id=5 c'est faux car ce n'est pas 5 pour chaque article, et sinon bah il me sort tous les auteurs qui ont écrit un article... >_<
Est-ce que c'est plus compréhensible comme ca?

vendredi 31 décembre 2004 à 18:12:58 | Re : requête maitre/détail et php

GRenard

non c pas compréhensible :P
"je voudrais récupérer auteu_nom where auteu_id=5"
et
"si je lui dis auteu_id=5 c'est faux"

Essais de faire un SELECT tes 2 tables... SELECT a.auteu_nom FROM auteur AS a, article AS b WHERE a.auteu_id=b...._id AND ...

Désolél, c'est pas claire

Si tu pouvais poster la Structure seulement de tes tables et dire ce qui les lis et ce que tu veux ca aiderait

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
[ Lien ]

vendredi 31 décembre 2004 à 19:53:47 | Re : requête maitre/détail et php

ejmana

Bahc c pas que auteu_id=5 est faux, c'est que ce n'est pas vrai pour tous les cas: dans le premier enregistrement c'est 5 (par exemple) mais dans d'autre j'aurai un autre euteur donc un autre id...
Bon je mets mes tables:

Ca c'est ma table "article" qui s'appelle en réalité "review"
revie_id int(11) auto_increment
revie_rpg int(11)
revie_support int(11)
revie_auteur int(11)
revie_date varchar(10)

Rpg c'est le jeux video dont on parle dans l'article, support c'est la console du jeux video de l'article, auteur c'est mon fameux auteur, et la date de l'article/review

ca c'est ma table auteur qui s'appelle en réalité "equipe"
equip_id int(11) auto_increment
equip_nom varchar(50)
equip_description longtext
equip_datearrivee varchar(10)
equip_datedepart varchar(10)
equip_contact varchar(255)
equip_titre int(11)
equip_droits int(11)

Le nom (c'est le champ que je veux récupérer grâce à cet id, description de la personne, dates d'entrée et de sortie de la team, contact cad email, titre c'est un surnom et droits c'est admin, modéro, visiteur etc.

Comme je travaille dans une zone d'enregistrements répétés (jaffiche toutes les reviews), j'utilise ce code:

<?php do { ?>
<p>Jeu: <?php echo $row_reviews['revie_rpg']; ?><br/>
Auteur: <?php echo $row_reviews['revie_auteur']; ?> <br/>
Date: <?php echo $row_reviews['revie_date']; ?>
<?php } while ($row_reviews = mysql_fetch_assoc($reviews)); ?>

Est-ce que j'ai tout mis le nécessaire? :)

Merci ^^

mercredi 5 janvier 2005 à 08:29:30 | Re : requête maitre/détail et php

GRenard

Désolé de te répondre si tard, j'ai eu un petit problème d'internet :P
Ce que je te dirais pour trouver (car la je suis peut-etre un peu dans la brousse...) car je ne cerne peut-etre pas très bien ce que tu veux, ou peut-être tu fais quelque chose en particulier où on ce n'y prend pas de cette manière (je ne sais pas, c'est flou désolé)


Je relis tout ce qui a été écrit la, et moi ce que j'aurais répondu c'est ceci :
SELECT auteu_nom FROM auteur, article
WHERE article.artic_auteur=auteur.auteu_id AND article.artic_id = '7'
Comme Chouchou a répondu... par contre, je regarde les autres questions et la ca m'embrouille...

Ta question doit avoir une réponse super conne (pas péjorativement) et elle saute aux yeux mais ... ihhh manque de koi :P
Si vraiment la requête marqué plus haut ne satisfait pas, va peut-etre voir sur les www.mysql.org la documentation sur LEFT JOIN et LEFT OUTER JOIN...

Espérant que ca puisse t'aider...


PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
[ Lien ]



Cette discussion est classé dans : affiche, requête, id, article, auteur


Répondre à ce message

Sujets en rapport avec ce message

relations entre 2 tables [ par yeble ] bonjourj'ai crée 2 tables (articles, marque)ARTICLESid_article (Clé unique primaire) nom_article prix_article marque_articleMARQUEid_marque (Clé uniqu requête sql [ par yeble ] je débute en base de données, j'essaie de reproduire votre exemple de site marchand pour comprendre le fonctionnement.j'ai crée 2 tables (articles, ma affichage d'une requête comportant de deux autres requêtes [ par vir76 ] Je dispose de 3 requêtes :la 1ère :$requête fournitures="SELECT T_ANNEE.ANNEE_ANNEE, T_SOUSDIRECTION.ID_SOUSDIRECTION, T_SOUSDIRECTION.SOUSDIRECTION_N problème de session [ par guendouf ] Bonjour,je poste 2 scripts, j'aimerai qu'on m'aide et qu'on m'explique pourquoi j'arrive pas à me connecter:1)session.php// On inclut le fichier de co Problème de requête de non-correspondance [ par dphil94 ] Bonjour a tous... Voici mon problème ;J'ai 2 tables table1 "qcm_sujet" avec les champs id, sujet, ....table2 "qcm_score" avec les champs id, sujet, no Requête PHP Mysql [ par nino69 ] Bonjour, j'ai 3 tables: jet_clients, clients_albums et album Note importante la table clients_albums à les deux clés etrangères des deux autre tables. Placement de news [ par Anthotill ] Bonjour à tous !J'ai une page contenant des articles, et je souhaiterais que ces articles soient affiché par "ID" du plus grand au plus petit, a chaqu requête count [ par Tomcube ] Salut !J'ai une table news avec mes news, une table commentaires où sont stockés les commentaires de ces news. Dans ma page de news (qui en affiche 30 Ma Bdd 'clignote'... Fonctionne, fonctionne pas... [ par larrieu ] Bonjour,Je suis un peu dépassé...Ma bdd sur mysql comprend une table annonce, des champs idannonce, sujet, message, pseudo (de l'auteur),mail (de l'au Trouver la dernière entrée d'un login [ par zemele ] Bonjour, Bon là je m'arrache les cheveux. J'ai une table 'article' qui contient un id (clé primaire), un login (celui de la session en cours) et des


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 5,460 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.