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 :

Page de recherche conduisant à un affichage de texte


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de razorlok
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 211
    Par défaut Page de recherche conduisant à un affichage de texte
    Bonjour à tous,

    Voilà, me lançant dans la création d'un site web dynamique, je me pose quelques questions basiques.

    La base comprend des artistes, des albums et des chroniques associées aux albums
    Une fonction de recherche d'albums sera en place, au choix d'un album,
    la page affichera une chronique, donc un texte conséquent.

    Je me demandais comment il était possible de rechercher un artiste dans la table Album, liée a une table Chronique et d'afficher une page html de texte !?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Par défaut
    Un artiste peut avoir plusieurs albums, et chaque album est lié aux plusieurs lignes dans la table Chronique, est-ce que ce sont bien des relations entre vos 3 tables?

    Si oui, vous faites:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $sql = '
        SELECT XXXXXX /* Les champs que vous voulez récupérer */
        FROM albums a, artistes t, chroniques c 
        WHERE
            a.id_artiste = t.id_artiste AND 
            a.id_album = c.id_albums AND 
            t.nom_article = \''.mysql_real_escape_string($_POST['nom_artiste']).'\'';
    Mais cette requête va retourner les chroniques de tous les albums de l'artiste demandé. Je ne sais pas si c'est bien ce que vous voulez...

  3. #3
    Membre confirmé Avatar de razorlok
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 211
    Par défaut
    Oui c'est exact en ce qui concerne la requete et les tables.

    Par contre, lorsque l'album sera trouvé, l'affichage de la chronique devra se faire. Dois-je faire une page html par chronique (sachant qu'il risque d'y en avoir beaucoup) ou y-a-t'il un autre moyen ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Par défaut
    Cette requete pose encore des problèmes, par exemple, artiste Mr.James possède 3 albums: albums 1, album 2 et album 3. Après l'exécution de cette requête, MySQL va nous retourner un tableau bizzard :

    album 1 chronique 1
    album 1 chronique 2
    album 1 chronique 3
    album 2 chronique 1
    album 2 chronique 2
    album 3 chronique 1
    album 3 chronique 2
    ... ... ...

    Vous voyez qu'il y a plein de redondances dans le résultat.

    Moi je pense que c'est mieux de le faire en 2 phases. Vous faites d'abord une recherche d'album par le nom d'artiste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT * 
    FROM albums a, artistes t 
    WHERE
        a.id_artiste = t.id_artiste AND 
        t.nom_artiste = XXXXX
    Et puis, votre programme liste tous les albums de cet artiste. Chaque line est un lien vers la page d'affichage de chroniques:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="aff_chronique.php?id_album=<?php echo $res['id_album']; ?>" target="_blank">Afficher les chroniques</a>
    Voilà, sinon vous pouvez le faire aussi en Ajax. c'est plus dynamique et beau

Discussions similaires

  1. Réponses: 10
    Dernier message: 28/10/2010, 22h01
  2. [COM] Affichage de texte RTF dans une page web
    Par marieannette dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 24/02/2009, 10h03
  3. [MySQL] Affichage de texte suite à une recherche
    Par razorlok dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/09/2008, 21h23
  4. recherche script calcul affichage page
    Par fey dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 09/09/2006, 17h16

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