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

Langage PHP Discussion :

Affichage sélectif des résultats d'une requête BDD


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2013
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Affichage sélectif des résultats d'une requête BDD
    Bonjour à tous,
    Ma base de données est ainsi constituée :
    id | Auteur | titre

    Ce qui est sûr, c'est que id et titre sont uniques
    Par contre pour un même auteur, je peux avoir un ou plusieurs titres
    Comme je souhaite afficher les résultats sous la forme :

    Auteur
    Titre

    si un auteur a plusieurs titres, j'obtiens ceci :
    Auteur
    titre1
    Auteur
    titre2

    Ce que je souhaite afficher est plutôt ceci :

    Auteur_1
    titre1
    titre2

    Auteur_2
    titre3

    ...


    Le bout de code est ainsi fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    include("Connect.php");
    $reponse = $bdd->query('SELECT * FROM  ouvrage ORDER BY Auteur');
    while ($donnees = $reponse->fetch())
    {
    ?>
    <table >
    <tr><td><?php echo $donnees['Auteur']; ?></td></tr>
    <tr><td><?php echo $donnees['titre']; ?></td></tr>
    </table>
    Je ne vois pas trop quel type de test je dois appliquer pour obtenir le résultat attendu
    Merci par avance pour votre aide

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Il y a deux méthodes :

    1) Gérer la distribution de tes livres par deux requêtes dans ta base.

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $auteurs = $bdd->query('SELECT distinct auteur FROM  ouvrage ORDER BY auteur');
    echo '<table>';
    while ($aut = $auteurs->fetch()){
       echo "<tr><th>$aut['auteur']</th></tr>";
       $livres = $bdd->query('SELECT distinct titre FROM ouvrage where auteur="'.$aut.'" ORDER BY titre');
       while ($liv = $livres->fetch()){
          echo "<tr><td>$liv['titre']</td></tr>";
       }
    }
    echo '</table>';

    2) Plus corsée, faire une seule requête, mais gérer en PHP le "passage de témoins" d'un auteur à l 'autre.
    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
    $reponse = $bdd->query('SELECT * FROM  ouvrage ORDER BY auteur, titre;');
    $start=true;
    while ($donnees = $reponse->fetch()) {
       //Initialisation du témoin
       if($start==true){
          $temoin=$donnees['auteur'];
    	  $start=false;
       }
       //Changement d'auteur
       if($temoin!=$donnees['auteur']){
     
       }
       //nième livre du même auteur...
       else{
     
       }
    }
    //A toi de jouer !
    Les deux méthodes sont bonnes.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2013
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Il y a deux méthodes :

    1) Gérer la distribution de tes livres par deux requêtes dans ta base.
    2) Plus corsée, faire une seule requête, mais gérer en PHP le "passage de témoins" d'un auteur à l 'autre.

    La première méthode fonctionne parfaitement

    Merci pour ce code

Discussions similaires

  1. [ZF 1.11] Affichage dynamique des résultats d'une requête
    Par roswellenshort dans le forum MVC
    Réponses: 0
    Dernier message: 24/04/2013, 16h22
  2. [MySQL] Affichage des résultats d'une requête
    Par motard6 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/06/2009, 18h32
  3. [SQL] Affichage des résultats d'une requête
    Par alizea77 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/01/2008, 01h39
  4. Affichage des résultats d'une requête dans listbox
    Par Deallyra dans le forum VBA Access
    Réponses: 8
    Dernier message: 09/10/2007, 14h09
  5. [MySQL] Affichage des résultats d'une requête sur plusieurs pages
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/10/2006, 13h24

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