Afficher plusieurs tables en php
ladj59
Messages postés
322
Date d'inscription
Statut
Membre
Dernière intervention
-
ladj59 Messages postés 322 Date d'inscription Statut Membre Dernière intervention -
ladj59 Messages postés 322 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudrais afficher tous les sujets présents dans une bdd qui contient 2 tables(base_physique et sujets) sachant que si on retrouve le même sujet dans les 2tables il ne doitr s'afficher qu'une fois
le champs des tables s'appelle a chaque fois sujet
j'ai fait le prog suivant mais je ne ne sais pas pourquoi cela ne marche pas(cela ne m'affiche que le echo avec la 2éme conditron du while)
<?php
$sujets=mysql_query("SELECT DISTINCT sujet FROM base_physique ORDER BY sujet ");
$sujets2=mysql_query("SELECT DISTINCT sujet FROM sujets ORDER BY sujet ");
while ($sujet = mysql_fetch_array($sujets) && $sujet2 = mysql_fetch_array($sujets2)) #propose tous les sujets présents dans la base de donnée
{
echo '<option value="'.$sujet2['sujet'].'">'.$sujet2['sujet'].'</option>';
echo '<option value="'.$sujet['sujet'].'">'.$sujet['sujet'].'</option>';
}
je voudrais afficher tous les sujets présents dans une bdd qui contient 2 tables(base_physique et sujets) sachant que si on retrouve le même sujet dans les 2tables il ne doitr s'afficher qu'une fois
le champs des tables s'appelle a chaque fois sujet
j'ai fait le prog suivant mais je ne ne sais pas pourquoi cela ne marche pas(cela ne m'affiche que le echo avec la 2éme conditron du while)
<?php
$sujets=mysql_query("SELECT DISTINCT sujet FROM base_physique ORDER BY sujet ");
$sujets2=mysql_query("SELECT DISTINCT sujet FROM sujets ORDER BY sujet ");
while ($sujet = mysql_fetch_array($sujets) && $sujet2 = mysql_fetch_array($sujets2)) #propose tous les sujets présents dans la base de donnée
{
echo '<option value="'.$sujet2['sujet'].'">'.$sujet2['sujet'].'</option>';
echo '<option value="'.$sujet['sujet'].'">'.$sujet['sujet'].'</option>';
}
A voir également:
- Afficher plusieurs tables en php
- Afficher appdata - Guide
- Tables des matières word - Guide
- Easy php - Télécharger - Divers Web & Internet
- Afficher google en page d'accueil - Guide
- Afficher taille dossier windows - Guide
6 réponses
bonjour
j'ai pas la syntaxe exacte mais il faut faire select * from table1, table2 left_inner join on table1.sujet, table2.sujet
désolé j'ai pas mon livre de chevet ici
j'ai pas la syntaxe exacte mais il faut faire select * from table1, table2 left_inner join on table1.sujet, table2.sujet
désolé j'ai pas mon livre de chevet ici
Non ce n'est pas tout à fait comme l'a dit giheller.
Il faut faire :
etc ...
Il faut faire :
SELECT * FROM table1 INNER JOIN table2 ON table1.clefprimaire = table2.clefétrangère; INNER JOIN table3 ON table2.clefprimaire = table3.clefétrangère;
etc ...
j'ai faitr cela
mais le probleme c'est que cela me met que les sujets qui sont présents dans les 2 tables
moi ce que je veux c'est tous les sujets de la table 1 tous ceux de la table 2 mais si un sujet est présent dans la table 1 et dans la table 2 alors il n'apparait qu'une fois
de meme si un sujet est présent plusieurs fois dans la même table iil n'apparait qu'une fois
$sujets=mysql_query("SELECT DISTINCT * FROM base_physique INNER JOIN sujets ON base_physique.sujet=sujets.sujet");
while ($sujet = mysql_fetch_array($sujets)) #propose tous les sujets présents dans la base de donnée
{
echo '<option value="'.$sujet['sujet'].'">'.$sujet['sujet'].'</option>';
}
mais le probleme c'est que cela me met que les sujets qui sont présents dans les 2 tables
moi ce que je veux c'est tous les sujets de la table 1 tous ceux de la table 2 mais si un sujet est présent dans la table 1 et dans la table 2 alors il n'apparait qu'une fois
de meme si un sujet est présent plusieurs fois dans la même table iil n'apparait qu'une fois
$sujets=mysql_query("SELECT DISTINCT * FROM base_physique INNER JOIN sujets ON base_physique.sujet=sujets.sujet");
while ($sujet = mysql_fetch_array($sujets)) #propose tous les sujets présents dans la base de donnée
{
echo '<option value="'.$sujet['sujet'].'">'.$sujet['sujet'].'</option>';
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ca y est j'ai reussi a afficher le resultat des 2 tables
il reste juste un probleme qui est que si un sujet est présent dans base_physique et dans sujets il sera affiché 2 fois dans le resultat donc au début tous les sujets de base -physique sont mis puis quand on ajoute les sujets de sujets il faut a chaque fois verifié qu'il n'est pas deja present
mais je ne sais pas trop comment faire
merci de votre aide
<?php
$sujets=mysql_query("SELECT DISTINCT sujet FROM base_physique");
$sujets2=mysql_query("SELECT DISTINCT sujet FROM sujets");
while ($sujet = mysql_fetch_array($sujets)) #propose tous les sujets présents dans la table
{
echo '<option value="'.$sujet['sujet'].'">'.$sujet['sujet'].'</option>';
}
while ($sujet2 = mysql_fetch_array($sujets2)) #propose tous les sujets présents dans la table
{
echo '<option value="'.$sujet2['sujet'].'">'.$sujet2['sujet'].'</option>';
}
il reste juste un probleme qui est que si un sujet est présent dans base_physique et dans sujets il sera affiché 2 fois dans le resultat donc au début tous les sujets de base -physique sont mis puis quand on ajoute les sujets de sujets il faut a chaque fois verifié qu'il n'est pas deja present
mais je ne sais pas trop comment faire
merci de votre aide
<?php
$sujets=mysql_query("SELECT DISTINCT sujet FROM base_physique");
$sujets2=mysql_query("SELECT DISTINCT sujet FROM sujets");
while ($sujet = mysql_fetch_array($sujets)) #propose tous les sujets présents dans la table
{
echo '<option value="'.$sujet['sujet'].'">'.$sujet['sujet'].'</option>';
}
while ($sujet2 = mysql_fetch_array($sujets2)) #propose tous les sujets présents dans la table
{
echo '<option value="'.$sujet2['sujet'].'">'.$sujet2['sujet'].'</option>';
}