Afficher données base mysql

Eléphanteau du PHP | 40 Messages

12 juil. 2010, 15:33

Je rencontre un problème pour afficher une valeur de ma table mysql

Les autres champs s'affichent correctement par contre le champ "etat" ne s'affiche pas

J'ai dans mon script php définit une valeur par défaut pour ce champ

Voici donc le message d'erreur quand j'essaye d'afficher les données de ma table:Notice: Undefined index: etat in c:\program files\easyphp1-7\www\testaffichage.php on line 57

et voici mon code:

Code : Tout sélectionner

<html> <title>Demandes d'entrée</title> <body> <link href="test.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#FFFFF0"> <p class="titre"> Suivi Demande D'entrée </p> <? // information pour la connection à la DB $host = 'localhost'; $user = 'root'; $pass = ''; $db = 'formulaire'; // connection à la DB $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); mysql_select_db($db) or die ('Erreur :'.mysql_error()); // requête SQL qui compte le nombre total d'enregistrement dans la table et qui //récupère tous les enregistrements $select = 'SELECT nom,prenom,service,date,demandeur FROM formentree'; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $total = mysql_num_rows($result); // si on a récupéré un résultat on l'affiche. if($total) { // debut du tableau echo '<table bgcolor="#FFFFFF">'."\n"; // première ligne on affiche les titres prénom et surnom dans 2 colonnes echo '<tr>'; echo '<th WIDTH=180 bgcolor="#669999">NOM</th>'; echo '<th WIDTH=180 bgcolor="#669999">Prenom</th>'; echo '<th WIDTH=180 bgcolor="#669999">Service</th>'; echo '<th WIDTH=180 bgcolor="#669999">Date d entrée</th>'; echo '<th WIDTH=180 bgcolor="#669999">Demandeur</th>'; echo '<th WIDTH=180 bgcolor="#669999">Etat</th>'; echo '</tr>'."\n"; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne. while($row = mysql_fetch_array($result)) { echo '<tr>'; echo '<td bgcolor="#A4D8EE">'.$row["nom"].'</td>'; echo '<td bgcolor="#A4D8EE">'.$row["prenom"].'</td>'; echo '<td bgcolor="#A4D8EE">'.$row["service"].'</td>'; echo '<td bgcolor="#A4D8EE">'.$row["date"].'</td>'; echo '<td bgcolor="#A4D8EE">'.$row["demandeur"].'</td>'; echo '<td bgcolor="#A4D8EE">'.$row["etat"].'</td>'; echo '</tr>'."\n"; } echo '</table>'."\n"; // fin du tableau. } else echo 'Pas d\'enregistrements dans cette table...'; // on libère le résultat mysql_free_result($result); ?> </body> </html>
D'avance merci pour votre aide

Eléphant du PHP | 422 Messages

12 juil. 2010, 15:51

hello

'SELECT nom,prenom,service,date,demandeur FROM formentree';

il n'y a pas 'etat' dans ta requet

peut etre faire

'SELECT nom,prenom,service,date,demandeur,etat FROM formentree';

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphanteau du PHP | 40 Messages

12 juil. 2010, 20:01

OK merci ça marche

Par contre j'ai un autre problème avec le format de ma date

elle est en us dans ma table sql mais je souhaiterai l'afficher au format FR

Pourriez vous m'aider ?

D'avance merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

12 juil. 2010, 21:32

Le forum FAQ contient des explications détaillées sur ce sujet :
:arrow: Quelques petites manipulations avec les dates &#40;PHP/MySQL)

;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 40 Messages

12 juil. 2010, 22:12

Oui j'avais déja consulté mais ça ne marche pas

Voici mon code ci dessous qui s'inspire de la faq pour convertir lors de l'affichage de la date du format us en fr

Code : Tout sélectionner

// connection à la DB $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); mysql_select_db($db) or die ('Erreur :'.mysql_error()); $dateSQL = '2005-09-01'; list($annee, $mois, $jour) = explode("-", $dateSQL); $dateFR = $jour.'/'.$mois.'/'.$annee; // requête SQL qui compte le nombre total d'enregistrement dans la table et qui //récupère tous les enregistrements $select = 'SELECT nom,prenom,service,DATE_FORMAT(date,'%d/%m/%Y'),demandeur,etat FROM formentree'; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $total = mysql_num_rows($result);
Et j'ai l'erreur suivante: Parse error: parse error, unexpected '%' in c:\program files\easyphp1-7\www\testaffichage.php on line 32

D'avance merci pour l'aide

ViPHP
ViPHP | 5462 Messages

12 juil. 2010, 22:19

probleme de quote tu ouvres ta chaine avec ' alors que tu en possèdes a l'intérieur

Eléphanteau du PHP | 40 Messages

12 juil. 2010, 22:26

ok mais que dois je donc faire ?

Merci

ViPHP
ViPHP | 5462 Messages

12 juil. 2010, 22:31

ok mais que dois je donc faire ?

Merci
sois tu echappes les autres quote sois tu changes de quote
$select = 'SELECT nom,prenom,service,DATE_FORMAT(date,\'%d/%m/%Y\'),demandeur,etat FROM formentree';
sois
$select = "SELECT nom,prenom,service,DATE_FORMAT(date,'%d/%m/%Y'),demandeur,etat FROM formentree";

Eléphanteau du PHP | 40 Messages

12 juil. 2010, 23:00

Ok j'ai pris ta première solution mais maintenant j'ai un autre message d'erreur:

Notice: Undefined index: date in c:\program files\easyphp1-7\www\testaffichage.php on line 68

D'avance merci pour l'aide

ViPHP
ViPHP | 5462 Messages

13 juil. 2010, 00:40

Ok j'ai pris ta première solution mais maintenant j'ai un autre message d'erreur:

Notice: Undefined index: date in c:\program files\easyphp1-7\www\testaffichage.php on line 68

D'avance merci pour l'aide

parce que tu na pas de champs date, regarde dans ton phpmyadmin ou en faisant un print_r
il faut que tu crées un alias
$select = "SELECT nom,prenom,service,DATE_FORMAT(date,'%d/%m/%Y') AS date,demandeur,etat FROM formentree";

Eléphanteau du PHP | 40 Messages

13 juil. 2010, 10:20

En mettant ta ligne je n'ai plus de message d'erreur mais par contre il n'affiche toujours pas la date corretement

Il affiche 20/07/2028 pour une date saisie 28/07/2010

D'avance merci

ViPHP
ViPHP | 5462 Messages

13 juil. 2010, 10:27

a quoi est égale ton champs date dans ta base de donnée

Eléphanteau du PHP | 40 Messages

13 juil. 2010, 12:03

Champ date de type date valeur défaut 0000-00-00

Merci

ViPHP
ViPHP | 5462 Messages

13 juil. 2010, 13:17

Champ date de type date valeur défaut 0000-00-00

Merci
oui mais la valeur de ton champs c'est quoi ?

Eléphanteau du PHP | 40 Messages

13 juil. 2010, 17:09

je saisie 28/07/2010 et dans ma table dans mon champ il est indiqué 20/07/2028

Merci