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 :

[SQL] Soucis d'affichage de requête SQL


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
    Mai 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut [SQL] Soucis d'affichage de requête SQL
    Bonjour,

    je possède une base de donnée que je met à jour via un formulaire dans une partie administration de mon site web.

    screenshot vers la base de donnée : http://img475.imageshack.us/img475/1386/bdd9nh.jpg

    j'aimerais afficher sur une page le nom des artistes, mais si ils sont deux fois dans la bdd ils ne doivent s'afficher qu'une fois. Sur cette artiste il doit y avoir un lien qui affiche les différents titres de cette artiste...

    je ne trouve pas la solution à mon problème, si quelqu'un pouvait me donner un petit coup de pouce...

    code pour le listing des artistes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <?
     
    	include "config.php";
     
     
    $retour = mysql_query('SELECT * FROM lyrics ORDER BY artiste ');
    while ($donnees = mysql_fetch_array($retour))
    {
     
    ?>	
     
    </p>
    			     <table width="588" border="0" align="center" cellpadding="0" cellspacing="0">
     
     
    		<div class="TitreNews">	
     
     
    <a href="artist.php?artiste=<?php echo $donnees['artiste'];?>&amp;id=<?php echo $donnees['id'];?>"
    class="aLienTexteMenu">
        <?php echo $donnees['artiste'];?></a>		
     
     
     
    </div>		
     
     
     
    	<?php
     
    		}
     
       ?>
    Code pour l'affichage des titres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <?
     
    	include "config.php";
     
    $id=$_GET['id'];
     
     
     
    $retour = mysql_query("SELECT titre, artiste FROM lyrics WHERE id=$id")or die(mysql_error());
    while ($donnees = mysql_fetch_array($retour))
    {
     
    ?>	
     
    </p>
    			     <table width="588" border="0" align="center" cellpadding="0" cellspacing="0">
     
     
    		<div class="TitreNews">			 
     
    <a href="lyrics.php?titre=<?php echo $donnees['titre'];?>&amp;artiste=<?php echo $donnees['artiste'];?>&amp;id=<?php echo $id;?>"
    class="aLienTexteMenu">
        <?php echo $donnees['titre'];?></a>
     
    </div>		
     
     
    	<?php
     
    		}
     
       ?>

  2. #2
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 509
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 509
    Par défaut
    Si tu veux que l'artiste n'apparait qu'une fois dans le cas ou il y aurait des doublons il me semble que tu dois faire SELECT DISTINC(artiste) ... dans la requete.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    deja dans ton premier select pourquoi etoile alor que tu n'utilises que deux champs..
    sinon un simple group by artiste... suffi.. relis les tutos c la base...des requete sql..

  4. #4
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    En effet la commande group by fonctionne...
    L'artiste n'apparait qu'une seule fois dans la liste, or lorsque je clique ensuite sur le lien qui est fait vers les titres de cette artiste, tout les titres ne s'affichent pas...Juste le premier s'affiche...

    Quelqu'un à la solution ??

    Merci pour votre aide.

  5. #5
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    j'ai fait ca comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?
     
    	include "config.php";
     
    $auteur=$_GET['artiste'];
     
     
     
    $retour = mysql_query("SELECT titre, artiste FROM lyrics WHERE artiste=$auteur")or die(mysql_error());
    while ($donnees = mysql_fetch_array($retour))
    {
     
    ?>
    ceci est juste un morceau du code...et j'ai l'erreur là :
    Champ 'Cascada' inconnu dans where clause
    alors que j'ai bien Cascada dans ma table lyrics, champ artiste.

    Pourquoi ca passe pas ??

  6. #6
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    include "config.php";
    if(isset($_GET['artiste']))
    {
    $auteur=stripslashes($_GET['artiste']);
    
    $retour = mysql_query("SELECT titre, artiste FROM lyrics WHERE artiste LIKE '$auteur'")or die(mysql_error());
    while ($donnees = mysql_fetch_array($retour))
    {
    }
    
    }
    else
    {
    //message d'erreur
    }
    ?>
    ça devrait le faire

Discussions similaires

  1. [MySQL] Affichage résultat requête SQL dans page HTML comme un tableau
    Par joxbl dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 14/03/2011, 14h26
  2. Affichage de requête SQL
    Par bibipsi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/05/2009, 20h49
  3. Requête SQL localisée pour affichage date/heure
    Par nicoboud2 dans le forum SQL
    Réponses: 1
    Dernier message: 11/05/2007, 10h55
  4. [Débutant][SQL] Requête SQL à l'intérieur d'une requête SQL
    Par Kily10 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/10/2006, 11h54
  5. Soucis de création de requêtes sql
    Par Zebeber dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 26/05/2006, 11h13

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