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 :

Comment affiché un résultat avec plusieurs lignes et plusieurs champs dans un tableau [MySQL]


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 Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut Comment affiché un résultat avec plusieurs lignes et plusieurs champs dans un tableau
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql2 = "SELECT * FROM `personnel` WHERE Id_Section='$id'";
    $query2 = mysql_query($sql2) or die($sql2 . ' : '  . mysql_error());
    $data2 = mysql_fetch_assoc($query);

    Cette requêtes me donne des employés, avec leur nom, leur prénom, leur service, leur emploi, leur salaire etc...

    J'aimerais afficher tous ces employés dans un tableau avec plusieurs colonnes correspondant aux noms, aux prénoms, aux services etc...

    Merci beaucoup pour votre aide !

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Deux étapes :

    1/ tu fais un affichage en html de l'entête du tableau avec <table> et <tr> .. </tr>

    2/ tu fais une boucle en php qui va se charger de récupérer un a un les résultats de ta requete et qui va afficher une nouvelle ligne du tableau.

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <table>
       <tr>
            <td> ID </td>    
            <td> Nom </td>
       </tr>
    <?php while ($vResult = mysql_fetch_assoc_array($link))
        {?>
       <tr>
             <td><?php echo $vResult['ID'];?></td>
             <td><?php echo $vResult['Nom'];?></td>
       </tr>
    <?php } //fin du while ?>
    </table>

  3. #3
    Membre confirmé Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut
    Ok merci je vais testé ca de suite !!

  4. #4
    Membre confirmé Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut
    Au fait je ne vois pas ce que représente vResult et $link ??
    Pourrait-tu m'aider via la requête que j'ai posté ?

  5. #5
    Membre confirmé Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut
    Voila ce que j'ai fait :

    Code php : 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
    $sql2 = "SELECT * FROM `personnel` WHERE Id_Section='$id'";
    $query2 = mysql_query($sql2) or die($sql2 . ' : '  . mysql_error());
    $data2 = mysql_fetch_assoc($query2);
    ?>
    <table>
    <tr>
    	<td> ID </td>    
    	<td> Nom </td>
    	<td> Prénom </td>
    	<td> Emploi </td>
    	<td> Section </td>
    	<td> Salaire </td>
    </tr>
     
    <?php while ($data2 = mysql_fetch_assoc_array($query2))
    	{?>
    		<tr>
    		<td><?php echo $data2['ID'];?></td>
    		<td><?php echo $data2['Nom'];?></td>
    		<td><?php echo $data2['Prenom'];?></td>
    		<td><?php echo $data2['Emploi'];?></td>
    		<td><?php echo $data2['Section'];?></td>
    		<td><?php echo $data2['Salaire'];?></td>
    		</tr>
    	<?php } //fin du while 
    ?>
    </table>

    Mais j'ai une erreur :

    Fatal error: Call to undefined function: mysql_fetch_assoc_array() in u:\pc stagiaire\hamza slimani\site php\autres pages\liste_perso.php on line 40

    Info : La ligne 40 est celle-ci

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php while ($data2 = mysql_fetch_assoc_array($query))

  6. #6
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    C'est à peu pres ca, hormis que tu fais un fetch au début de ton code et apres tu boucles en refaisant un fetch donc tu perds un résultat:

    Code php : 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
     
    $sql2 = "SELECT * FROM `personnel` WHERE Id_Section='$id'";
    $query2 = mysql_query($sql2) or die($sql2 . ' : '  . mysql_error());
    ?>
    <table>
    <tr>
    	<td> ID </td>    
    	<td> Nom </td>
    	<td> Prénom </td>
    	<td> Emploi </td>
    	<td> Section </td>
    	<td> Salaire </td>
    </tr>
    <?php while($data2 = mysql_fetch_assoc($query2))
       {
    ?>
    		<tr>
    		<td><?php echo $data2['ID'];?></td>
    		<td><?php echo $data2['Nom'];?></td>
    		<td><?php echo $data2['Prenom'];?></td>
    		<td><?php echo $data2['Emploi'];?></td>
    		<td><?php echo $data2['Section'];?></td>
    		<td><?php echo $data2['Salaire'];?></td>
    		</tr>
    	<?php } //fin du while 
    ?>
    </table>

    Ca devrait fonctionner comme ca, enfin j'espère

  7. #7
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Par défaut
    $link est le retour de ta fonction connect je pense

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $link=mysql_connect(serveur, compte, pass) or die(mysql_error());

    Le vResult est une variable que tu crées qui va prendre tour a tour chaque ligne de ton resultat et t'en faire un tableau aliasé.

  8. #8
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    rahhh, désolé j'ai tout posté/écrit un peu vite...
    la fonction s'appelle mysql_fetch_assoc() et pas fetch_assoc_array()

    Il ne fallait pas prendre mon code a la lettre, c'était un exemple et je me suis mélangé avec les noms de mes propres fonctions de base de données désolé

  9. #9
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    fais une boucle comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while($data2 = mysql_fetch_assoc($query))
       {
     
       }

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 05/11/2012, 15h28
  2. fusionner plusieurs lignes d'un champs dans un select?
    Par gwena54 dans le forum Requêtes
    Réponses: 13
    Dernier message: 25/01/2008, 13h29
  3. Réponses: 2
    Dernier message: 22/06/2007, 09h26
  4. Réponses: 3
    Dernier message: 29/09/2006, 09h48
  5. PL/SQL - Comment afficher une image avec HTP ?
    Par patmaba dans le forum PL/SQL
    Réponses: 2
    Dernier message: 08/07/2004, 09h28

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