Récuperer les données d'une base pour les mettre dans un tableau

Résolu/Fermé
MrAkiroKun Messages postés 29 Date d'inscription vendredi 8 août 2014 Statut Membre Dernière intervention 22 janvier 2016 - 6 janv. 2016 à 12:16
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 6 janv. 2016 à 14:59
Bonjour,

Je voudrais récupérer les données qui sont dans ma bases MySQL et les mettre dans un tableau avec une boucle while, MAIS, un problème se présente puisque dans mes colonnes, des erreurs se présentent sous cette forme : "Notice: Undefined index: nom in C:\wamp\www\paul\Projet M.Vautier\liste.php on line 43 ".

Je fais le tout en PDO, et je pense que le problème vient du fait que mes données ne sont pas des string, puisque avec un print_r, je peut récuperer mes données, je met mes codes, si vous trouvez l'erreur, merci d'avance ;)

<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<script type=\"text/javascript\" src=\"js/bootstrap.min.js\"></script>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="shortcut icon" href="ico/favicon.ico">
    <title>Administration</title>
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="css/form.css" rel="stylesheet">
  </head>
  <body>
    <?php
try{
    $PDO = new PDO('mysql:host=localhost;dbname=liste_eleve;charset=utf8', 'root', '');
}catch (Exception $e){
    die('Erreur : ' . $e->getMessage());
}
$reponse = $PDO->prepare('SELECT * FROM eleves ORDER BY nom');
$reponse->execute();
?>
<div class="panel panel-primary">
  <!-- Default panel contents -->
		<div class="panel-heading">
		<center><span class="badge">
		<p>Informations de la classe</p>
		</span></center>
		</div>
        <table class="table table-bordered table-hover table-striped">
                <tr>
                    <th>Nom</th>
                    <th>Prénom</th>
                    <th>Date de naissance</th>
                    <th>Adresse</th>
                    <th>Numéro</th>
                    <th>Adresse Email</th>
                </tr>
            <?php //On affiche les lignes du tableau une à une à l'aide d'une boucle
            while($donnees = $reponse->fetchAll(){
            ?>
                <tr>
                    <td><?php echo $donnees['nom'];?></td>
                    <td><?php echo $donnees['prenom'];?></td>
                    <td><?php echo $donnees['born_date'];?></td>
                    <td><?php echo $donnees['adresse'];?></td>
                    <td><?php echo $donnees['numero'];?></td>
                    <td><?php echo $donnees['mail'];?></td>
                </tr>
            <?php
            } //fin de la boucle, le tableau contient toute la BDD
            ?>
        </table>
		</div>
  </body>
</html>

A voir également:

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié par jordane45 le 6/01/2016 à 12:25
Bonjour,
tu utilises un fetchall ... donc ça ne se boucle pas ainsi...

Essayes ça :



$reponse = $PDO->prepare('SELECT * FROM eleves ORDER BY nom');
$reponse->execute();
$donnees = $reponse->fetchAll();



et la boucle :
 foreach($donnees as $R){
 
  echo "<tr>";
  echo "<td>".$R['nom']."</td>
         <td>".$R['prenom']."</td>
         <td>".$R['born_date']."</td>
         <td>".$R['adresse']."</td>
         <td>".$R['numero']."</td>
         <td>".$R['mail']."</td>";
  echo "</tr>";
 } //fin de la boucle, le tableau contient toute la BDD
?>




Cordialement, 
Jordane                                                                 
0
MrAkiroKun Messages postés 29 Date d'inscription vendredi 8 août 2014 Statut Membre Dernière intervention 22 janvier 2016
6 janv. 2016 à 14:45
ça marche, merci de ton aide ;)
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > MrAkiroKun Messages postés 29 Date d'inscription vendredi 8 août 2014 Statut Membre Dernière intervention 22 janvier 2016
6 janv. 2016 à 14:59

ça marche

Ca je n'en doutais pas :-)

Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0