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

PHP & Base de données Discussion :

Affichage requête SQL [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut Affichage requête SQL
    bonsoir,
    depuis le debut de l apres mdi je cherche a resoudre le pb suivant:
    je fais un site de loc de DVD , chaque DVD a plusieurs ex .
    J'ai donc une table film et une pour les exemplaire qui reprend pour chacun l'id des films et indique si ils sont disponibles ou non.
    Je n'arrive pas a n'afficher qu'une fois le film dans un tableau php et a indiquer dispo si au moins exemplaire est dispo et sorti sinon.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    while($data= mysql_fetch_array($result))
      {
    	$id= $data['idFilm'];
    	echo "<tr>";
    	echo"<td> ";
         $statut= $data['Dispo'];
         foreach ($data ['idFilm'])
            {
                 if (! $statut=='O' ) {$statut=='N';}
            }
         if ($statut =='N'){ $statut2 ='Sorti';}
          else {$statut2 = 'Dispo';}
    plus loin je fait un echo $statut2

    Cela marche si tous les ex sont sorti ou dispo mais pas si il y en a dispo et d'autre sorti.
    Je voudrai afficher dispo si au moins 1 ex est dispo.

    Merci de votre aide si mon charabia est comprehenssible

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonsoir,

    Je pense que tu souhaites faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while($data= mysql_fetch_array($result)){
        $statut = ($data['Dispo'] == 'N') ? 'Non dispo' : 'Dispo';
        echo '<tr><td>'.$data['idFilm'].'</td><td>'.$statut.'</td></tr>';
    }

  3. #3
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut
    Merci de ce retour rapide mais malheureusement cela ne resoult pas mon pb.
    Je dois tester pour chaque idfilm si il existe plusieurs exemplaires avec cet ID.=OK

    Puis regarder si les exemplaires sont disponibles ou non ( flag dispo dans la table des ex)
    si au moins un exemplaire est disponible ont affiche dispo.

    pour le moment le film est retourne:
    -une fois si tous les exemplaires sont dispo ou sorti = OK
    -mais 2 fois si il y a les deus statut ( une fois en dispo et une fois en sortie.=KO il doit figurer dispo puisqu'il y en a au moins un dispo.

    Merci pour vos idees.

  4. #4
    Membre éclairé Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    Bonjour,

    Pour moi c'est plus un problème SQL que PHP, aussi je me suis penchée là dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT titre, SUM(CASE disponible WHEN 'oui' THEN 1 ELSE 0 END) AS occ
    FROM dvd d, dvd_exemplaire de
    WHERE d.id=de.id_film
    GROUP BY d.id
    Tu obtiens donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Underworld  	3
    Watchmen 	1
    Hancock 	0
    Reste juste à faire un test sur la colonne "occ" si tu ne veux pas afficher ceux qui ne sont plus disponibles.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut
    Merci , avec cette réponse j'ai modifie mon script.
    Mais je n obtiens tjrs pas ce que je souhaite.
    j'ai fais une 1ere requete qui liste les films et tous les details que je souhaite.
    Puis dans la boucle d affichage j'ai inséré une seconde requete qui vérifie si pour le film afiche il reste des exemplaires dispo.
    Si il en reste on ecrit dispo sinon on ecrit sorti.
    Et depuis hier je tourne soit ils sont tous dispo soit tous sorti.
    J'avais touvé une autre solution mais elle affichait les deux statuts si il y en avait des dispo et des sortis....

    Ci dessous le script dans sa version actuelle:

    while($data= mysql_fetch_array($result)){
    $id= $data['idFilm'];
    //requéte statut du film
    $query2 = "select idEx, idFilm , SUM(CASE Dispo when 'o' then 1 ELSE 0 END) AS libre from Exemplaire where idFilm='".$id."' group by idFilm ";

    $result2= mysql_query($query2) or die("Echec dans l'exécution de la requête : " . mysql_error());
    $totalRows_requete2 = mysql_num_rows($result2);


    if ($DATA ['libre']>=1)
    {$statut2= "dispo";}
    else {$statut2 ="sorti";}

    echo "<tr>";
    echo"<td> ";
    echo"<form name=\"form\" method=\"POST\" action=\"louer.php\" class=\"tableau\" id=\"form\" >
    <input type=\"submit\" name=\"stat\" size=\"6\" id=\"lestatut\" value='".$statut2." 'onclick=\"EnregistrerFilm()\" checked />

  6. #6
    Membre éclairé Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    Bonjour,

    Je ne comprends pas pourquoi tu ne tournes pas sur la requête que je t'ai donné... Si il manque des infos, alors rajoutes des champs dans le SELECT, ou fait une jointure sur la ou les tables en relation avec le film... nan ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage requête SQL dans tableau
    Par lolymeupy dans le forum Langage
    Réponses: 4
    Dernier message: 29/08/2011, 10h40
  2. Prob affichage requête SQL sur plusieurs colonnes
    Par nono9999 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 03/06/2010, 12h13
  3. Réorganisation affichage requête SQL
    Par nax71 dans le forum SQL
    Réponses: 5
    Dernier message: 02/06/2010, 09h45
  4. [MySQL] affichage requête sql
    Par omar071286 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/05/2008, 15h56
  5. affichage requête sql sous phppgadmin
    Par kerzut dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 25/02/2005, 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