Requêtes MySQL
Forum Programmation : Requêtes MySQL
TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
Bonjour,
J'ai installé une BDD MySQL de généalogie comprenant notamment les deux tables suivantes:
1 - Table oxg_individuals
champs:
id_individual
id_patronym
first_name
id_father
id_mother
(dans cette table chaque enregistrement comprend en principe à la fois un champ id_individual ET un champ id_father et id_mother: il s'agit des individus dont les deux parents sont identifiés - chacun des parents figurant dans la même table avec des id_individuals bien entendus différents, avec leurs propres id_father et id_mother...)
2 - Table oxg_patronyms
champs:
id_patronym
libelle
Partant de là, je cherche à extraire et afficher une liste d'individus qui se présenterait sur deux lignes et de la façon suivante:
TARTEMPION (oxg_patronyms.libelle) Pierre (oxg_patronyms.first_name)
Père: TARTEMPION (oxg_patronyms.libelle) Jean-Marie (oxg_patronyms.first_name )
Mère: MACHINE (oxg_patronyms.libelle) Marcelle (oxg_patronyms.first_name )
En vue d'extraire la première ligne, j'ai codé de la façon suivante:
$sql = "SELECT first_name,oxg_patronyms.libelle FROM oxg_individuals,oxg_patronyms WHERE oxg_individuals.id_patronym=oxg_patronyms.id_patronym"; // première requête SQL portant sur l'individu principal
$reponse = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()) ; // envoi de la requête
// boucle pour lister ce que contient la table :
while ($data = mysql_fetch_array($reponse) )
{
?>
<p>
<?php echo $data['libelle']; ?> <?php echo $data['first_name']; ?>
<br/>
</p>
Tout cela est très basique et fonctionne à merveille, mais comment compléter le code pour avoir mes deux lignes de l'identité des parents?
Espérant avoir été assez claire, je suis d'avance très reconnaissant à celui, ou ceux, qui me mettront sur le bon chemin...
Cordialement,
Asonardug
Ce sujet a été déplacé de la catégorie Logiciels vers la catégorie Programmation par Yama310
Qu'appelles tu identité ?
| SiM07 a écrit : Qu'appelles tu identité ? |
Bonsoir,
Par identité, j'entends (au plus simple) l'indication du nom (qu'on appelle aussi patronyme) et du prénom du père, et celui de la mère.
Cordialement
Asonardug
Dans SELECT tu n'as qu'à rajouter les champs que tu souhaites. Mais à priori là ta requête te donne le nom et prénom des gens, c'est le champs libelle.
Sim07,
Et non, cela ne marche pas de rajouter tout simplement les champs souhaités.
Pourquoi?
Je reprends:
La table Table oxg_individuals comprend (notamment) les champs que j'ai indiqué, c'est à dire: id_individual , id_patronym , first_name , id_father ,id_mother .
Chaque individu est concerné par un enregistrement. Et dans cet enregistrement il y a le champ id_individual qui est le numéro propre à la personne, et les champs id_father et id-mother, et ceux-ci qui sont identiques aux id_individual du père et de la mère - QUI SONT AUSSI DES ENREGISTREMENTS DE LA MEME TABLE....
Sauf si vous m'indiquez comment coder pour arriver à mon résultat en ajoutant seulement des champs.
En réfléchissant, il me semblait qu'il faudrait "relever" l'id_father de l'enregistrement, et trouver le moyen de demander à PHP/MySQL de rechercher dans la base (et d'afficher) l'enregistrement dans lequel l'id_individual est égal à l'id_father de l'enregistrement "de base" sur lequel porte la première requête.
Je m'excuse si je ne me fais pas suffisamment bien comprendre.
Cordialement,
Asonardug
Il y a 1379 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
