requete multitables?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : requete multitables?

par Cyrano » 26 mai 2005, 11:41

Non, il n'y a pas d'erreur, mais pour un seul groupe, rajoute une clause WHERE dans la première requête, du genre

Code : Tout sélectionner

...WHERE `idgroupe` = ". $idgroupe .";

par Invité » 26 mai 2005, 11:30

merci cyrano et ZeRo[^L^]CoOOL ça fonctionne.

pour la requete de flitox, au lieu de tenir compte de l'idgroupe et d'afficher les albums concernant un seul groupe, j'ai tous les albums. y a t il une erreur dans la requete?

ex pour le groupe xxx j'ai les albums de xxx + les albums de yyy

par Cyrano » 26 mai 2005, 11:24

Il y a plusieurs erreurs dans le code montré:
<table>
<?
//liste des groupes
$groups = mysql_query("SELECT * FROM groupe");
while($groups_tab = mysql_fetch_array($groups))
{
    echo "<tr> <td> Nom de la Groupe: ".$groups_tab["nom"]."</td><td><table width=100%>";
    //liste des albums relative a chaque Groupe
    $albums=mysql_query("SELECT * FROM album WHERE idgroupe = ". $groups_tab['idgroupe']);
    while($albums_tab = mysql_fetch_array($albums))
    {
        //ici j'ai suposé que tous les fichiers on l'extension jpg
        echo "<tr> <td> <img src=\"albums/".$albums_tab['idalbum'].".jpg\">Nom de l'Album:".$albums_tab["nom"]."</td></tr>";
    }
    echo "</table></td></tr>";
}
?>
</table>

par singer » 26 mai 2005, 11:19

argg, quand j'utilise cette requete, tous les albums (de tous les groupes ) s'affichent pour la fiche de chacun des groupes

par ZeRo[^L^]CoOOL » 26 mai 2005, 11:17

Bon votre poste est un peux floue mais bon j'éssaye de faire comme j'ai compris.
Si tu veut afficher la liste des groupes avec leurs album et pour chaque album sa photo:
<table>
<?
//liste des groupes
$groups=mysql_query("SELECT * FROM groupe");
   while($groups_tab=mysql_fetch_array($groups))
   {
     echo "<tr> <td> Nom de la Groupe: ".$groups_tab["nom"]."</td><td><table width=100%>";
           //liste des albums relative a chaque Groupe
    $albums=mysql_query("SELECT * FROM album WHERE $idgroupe=".$groups_tab["idgroupe"];
     while($albums_tab=mysql_fetch_array($albums))
      {
        //ici j'ai suposé que tous les fichiers on l'extension jpg
     echo "<tr> <td> <img src='albums/".$albums_tab["idalbum"].".jpg'>
         Nom de l'Album:".$albums_tab["nom"]."</td></tr>";
      }
      echo "</table></td></tr>";
    }
?>
</table>
il va vous afficher tous les groups et pour chaque Groupe la liste des albums relative a ce dernier avec leurs images.
Bonne chance :)

par singer » 26 mai 2005, 11:15

merci beaucoup à vous deux :)

bonne journée

par flitox » 26 mai 2005, 11:08

Pour pouvoir lire des champs sur 2 tables dans la même requête, tu dois définir à quelle table appartiennent les différents champs :

En gros ça donnerait ça :

Code : Tout sélectionner

$sql = 'SELECT * FROM album, groupe WHERE groupe.idgroupe LIKE '.$idgroupe.'';

par singer » 26 mai 2005, 11:02

voici la structure de mes tables

table album

idalbum
nom
annee
idgroupe


table groupe

idgroupe
nom
site
bio

flitox tu peux preciser stp ?

merci de votre aide

par flitox » 26 mai 2005, 10:55

Il te suffit d'interroger la bdd en précisant la table et le champ :

Code : Tout sélectionner

SELECT * FROM table.champ

par ZeRo[^L^]CoOOL » 26 mai 2005, 10:54

la structure de votre 2 Tables SVP

requete multitables?

par singer » 26 mai 2005, 10:48

bonjour à tous

j'ai une base de données avec deux tables : album et groupe

je fais cette requete :
<?php 
$sql = 'SELECT * FROM album WHERE idgroupe LIKE  '.$idgroupe.'';
$req = mysql_query($sql) or die('Error!');
while ($data = mysql_fetch_array($req))

{echo "<tr><td class=\"album\">" . $data['nom_album'] . "</td>" .
     "<td class=\"annee\">" . $data['annee'] . "</td>" .   
     "</tr>";}

mysql_close();
?>
pour afficher la liste des albums d'un groupe

j'aimerai afficher la photo correspondant à chaque album et je ne sais pas comment faire.

les images des albums sont stockées dans un dossier "albums" et ont pour nom le idalbum de la table album.