problème pour lire une de mes tables

problème pour lire une de mes tables - PHP - Programmation

Marsh Posté le 11-03-2003 à 22:17:36    

Bonsoir à tous,
Je me suis créé un petit guestbook en PHP.
Pour signer c'est ici : http://www.chouf.be/guestbook.htm par contre pour voir le résultat, c'est pas gagné.
J'ai le code suivant que j'utilise pour enregistrer les données reçues depuis un formulaire :
 
<?php
 
$db = mysql_connect("MYDOM", "MYSQLDB", "MYPASSWORD" );
$continu=1;
if ($nom == "" )
{
print("Veuillez indiquer votre nom." );
$continu=0;
}
if ($continu == 1)
{
$date=date("Y-m-d" );
$sql="INSERT INTO impression (nom, email, impression, date, commentaire) VALUES ('$nom', '$email', 'impression', '$date', '$commentaire';)";
mysql_query($sql, $db);
print("Merci de m'avoir donné vos impressions !" ) ;
}
else
{
}
?>
 
Cela fonctionne parfaitement et j'ai vérifié, la table "impression" est bien remplie avec les données recueillies.
Par contre, j'utilise le code suivant pour extratire mes données de la table "impression", et là pas moyen de voir quoique ce soit; mon tableau est bien créé mais aucunes données n'y est ajoutée. Je ne vois pas où est le problème. Auriez-vous une idée ?
 
Merci
 
<?php
$db = mysql_connect("MYDOM", "MYSQLDB", "MYPASSWORD" );
$sql="SELECT * FROM impression ORDER BY date";
$res=mysql_query($sql, $db);
while ($ligne = mysql_fetch_object ($res))  
{
    print "<tr>";
    print "<td>$ligne->date</td>";
    print "<td>$ligne->nom</td>";
    print "<td>$ligne->email</td>";
    print "<td>$ligne->impression</td>";
    print "<td>$ligne->commentaire</td>";
    print "</tr>";
}
mysql_free_result ($res);
?>


Message édité par tomilou le 11-03-2003 à 22:42:25
Reply

Marsh Posté le 11-03-2003 à 22:17:36   

Reply

Marsh Posté le 12-03-2003 à 00:39:57    

2 idées:
essaie
print '<td>' . $ligne->date . '</td>';  
 
sinon, essaie d'utiliser mysql_fetch_array au lieu de _fetch_object

Reply

Marsh Posté le 12-03-2003 à 00:44:27    

arf dsl de ne pas pouvoir t'aider  
 
ms utilise les  

Code :
  1. balises C/C++ pour que soit plus lisible

Reply

Marsh Posté le 12-03-2003 à 09:40:23    

the real moins moins a écrit :

2 idées:
essaie
print '<td>' . $ligne->date . '</td>';  
 
sinon, essaie d'utiliser mysql_fetch_array au lieu de _fetch_object
 


 
J'ai essayé ton idée, mais cela donne encore moins bien... :sweat:  
 
http://users.skynet.be/fa374685/nope.jpg
 
Donc j'ai remis comme avant.
C'est bizarre, car ma table "impression" que j'utilise n'est pas vide.

Reply

Marsh Posté le 12-03-2003 à 10:14:29    

Tomilou a écrit :

Bonsoir à tous,
Je me suis créé un petit guestbook en PHP.
Pour signer c'est ici : http://www.chouf.be/guestbook.htm par contre pour voir le résultat, c'est pas gagné.
J'ai le code suivant que j'utilise pour enregistrer les données reçues depuis un formulaire :
 
<?php
 
$db = mysql_connect("MYDOM", "MYSQLDB", "MYPASSWORD" );
$continu=1;
if ($nom == "" )
{
print("Veuillez indiquer votre nom." );
$continu=0;
}
if ($continu == 1)
{
$date=date("Y-m-d" );
$sql="INSERT INTO impression (nom, email, impression, date, commentaire) VALUES ('$nom', '$email', 'impression', '$date', '$commentaire';)";
mysql_query($sql, $db);
print("Merci de m'avoir donné vos impressions !" ) ;
}
else
{
}
?>
 
Cela fonctionne parfaitement et j'ai vérifié, la table "impression" est bien remplie avec les données recueillies.
Par contre, j'utilise le code suivant pour extratire mes données de la table "impression", et là pas moyen de voir quoique ce soit; mon tableau est bien créé mais aucunes données n'y est ajoutée. Je ne vois pas où est le problème. Auriez-vous une idée ?
 
Merci
 
<?php
$db = mysql_connect("MYDOM", "MYSQLDB", "MYPASSWORD" );
$sql="SELECT * FROM impression ORDER BY date";
$res=mysql_query($sql, $db);
while ($ligne = mysql_fetch_object ($res))  
{
    print "<tr>";
    print "<td>$ligne->date</td>";
    print "<td>$ligne->nom</td>";
    print "<td>$ligne->email</td>";
    print "<td>$ligne->impression</td>";
    print "<td>$ligne->commentaire</td>";
    print "</tr>";
}
mysql_free_result ($res);
?>


 
Et si t'essaies avec  
    <td><? echo $ligne["date"]; ?></td> ??

Reply

Marsh Posté le 12-03-2003 à 11:21:03    

Chui au boulot, donc j'essayerai ce soir.
Je te dirai quoi ce tout à l'heure.
Merci d'avance.
 
Thomas
 
PS: au fait la commande $sql="INSERT INTO impression (nom, email, impression, date, commentaire) VALUES ('$nom', '$email', 'impression', '$date', '$commentaire';)"; cela vous semble correct ou pas pour enregistrer les comeentaires dans ma table "impression" ?


Message édité par tomilou le 12-03-2003 à 11:23:47
Reply

Marsh Posté le 12-03-2003 à 11:24:46    

Tomilou a écrit :

PS: au fait la commande $sql="INSERT INTO impression (nom, email, impression, date, commentaire) VALUES ('$nom', '$email', 'impression', '$date', '$commentaire';)"; cela vous semble correct ou pas pour enregistrer les comeentaires dans ma table "impression" ?


Tout dépend si tu veux insérer "impression" dans le champ impression ou si tu veux y insérer la variable $impression :D


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 12-03-2003 à 12:07:55    

Tomilou a écrit :


 
J'ai essayé ton idée, mais cela donne encore moins bien... :sweat:  
 
http://users.skynet.be/fa374685/nope.jpg
 
Donc j'ai remis comme avant.
C'est bizarre, car ma table "impression" que j'utilise n'est pas vide.

[:spamafote] tu t'es plantés avec les guillemets là  
et puis t'as pas essayé l'autre suggestion :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 13-03-2003 à 08:55:09    

Taiche a écrit :


Tout dépend si tu veux insérer "impression" dans le champ impression ou si tu veux y insérer la variable $impression :D


 
"impression" est ma table SQL qui comprend des variables que je récupère avec mon formulaire http://www.chouf.be/guestbook.htm dont voici le code :
 
<form name="signguestbook" ACTION="ajoutimp.php" METHOD="POST">
<div align="left">  
<p class="text">Votre nom :<br>
<input name="nom" type="text" maxlength="20">*<br>
<br>Votre email :<br>
<input type="email" name="email">
<br>
<br>Vous avez  
<input type="radio" name="impression" value="aime">
aimé <input type="radio" name="impression" value="pasaime">pas aimé. <br>
<br>Vos commentaires :<br>
<textarea name="commentaires" cols="50" rows="10"></textarea>
<br>
<br>
<p align="center" class="text"><A HREF="javascript: document.signguestbook.submit()" class="mash2">[Valider]- </A><A HREF="javascript: document.signguestbook.reset()" class="mash2">[Recommencer</A>]</p>
<p align="center" class="text">* = obligatoire</p><span class="text"></p> </span></div>
</form>

 
http://users.skynet.be/fa374685/images/mysql_impression.jpg


Message édité par tomilou le 13-03-2003 à 08:56:24
Reply

Marsh Posté le 13-03-2003 à 09:06:38    

the real moins moins a écrit :

[:spamafote] tu t'es plantés avec les guillemets là  
et puis t'as pas essayé l'autre suggestion :o


Oui en fait, après vérif', ma table "impression" censée recueillir les données du formulaire, ne reçoit en fait rien, donc comme elle est vide, rien ne s'affiche. Donc tout d'abord, j'ai un problème d'enregistrement de mes données.
Il semblerai qu'il y ai un problème avec :
 
<?php  
 
$db = mysql_connect("MYDOM", "MYSQLDB", "MYPASSWORD" );  
$continu=1;  
if ($nom == "" )  
{  
print("Veuillez indiquer votre nom." );  
$continu=0;  
}  
if ($continu == 1)  
{  
$date=date("Y-m-d" );  
$sql="INSERT INTO impression (nom, email, impression, date, commentaire) VALUES ('$nom', '$email', 'impression', '$date', '$commentaire')";  
mysql_query($sql, $db);  
print("Merci de m'avoir donné vos impressions !" ) ;  
}  
else  
{  
}  
?>

Reply

Marsh Posté le 13-03-2003 à 09:06:38   

Reply

Marsh Posté le 13-03-2003 à 10:12:08    

Tomilou a écrit :


"impression" est ma table SQL qui comprend des variables que je récupère avec mon formulaire http://www.chouf.be/guestbook.htm dont voici le code :


Oui mais dans ton INSERT, mate la partie correspondant à impression dans le VALUES : tu entres le texte 'impression' et non pas (ce que je subodore) une variable. Après, c'est toi vois [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 13-03-2003 à 12:41:51    

Taiche a écrit :


Oui mais dans ton INSERT, mate la partie correspondant à impression dans le VALUES : tu entres le texte 'impression' et non pas (ce que je subodore) une variable. Après, c'est toi vois [:spamafote]


 
tiens oui, j'ai oublié un "$", je vais corrigé cela ce soir...

Reply

Marsh Posté le 13-03-2003 à 13:30:14    

Code :
  1. <?php
  2. $db = mysql_connect("MYDOM", "MYSQLDB", "MYPASSWORD" );
  3. $sql = "SELECT * FROM impression ORDER BY date";
  4. $res = mysql_query($sql, $db);
  5. while ($ligne = mysql_fetch_array($res)) 
  6. {
  7.    print "<tr>\n";
  8.    print "\t<td>".$ligne["date"]."</td>\n";
  9.    print "\t<td>".$ligne["nom"]."</td>\n";
  10.    print "\t<td>".$ligne["email"]."</td>\n";
  11.    print "\t<td>".$ligne["impression"]."</td>\n";
  12.    print "\t<td>".$ligne["commentaire"]."</td>\n";
  13.    print "</tr>";
  14. }
  15. mysql_free_result ($res);
  16. ?>


 
Théoriquement ça revient au même, mais bon c'est peut être ton objet qui foire ...


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 15-03-2003 à 14:03:10    

Notsukaw a écrit :

Code :
  1. <?php
  2. $db = mysql_connect("MYDOM", "MYSQLDB", "MYPASSWORD" );
  3. $sql = "SELECT * FROM impression ORDER BY date";
  4. $res = mysql_query($sql, $db);
  5. while ($ligne = mysql_fetch_array($res)) 
  6. {
  7.    print "<tr>\n";
  8.    print "\t<td>".$ligne["date"]."</td>\n";
  9.    print "\t<td>".$ligne["nom"]."</td>\n";
  10.    print "\t<td>".$ligne["email"]."</td>\n";
  11.    print "\t<td>".$ligne["impression"]."</td>\n";
  12.    print "\t<td>".$ligne["commentaire"]."</td>\n";
  13.    print "</tr>";
  14. }
  15. mysql_free_result ($res);
  16. ?>


 
Théoriquement ça revient au même, mais bon c'est peut être ton objet qui foire ...
 


 
Salut j'ai essayé ton code, mais voici ce que cela donne :  
 
http://users.skynet.be/fa374685/images/forum/nope2.jpg

Reply

Marsh Posté le 15-03-2003 à 14:10:26    

 while ($ligne = mysql_fetch_array($res))    
  {  
       echo '<tr>
<td>'.$ligne['date'].'</td>
<td>'.$ligne['nom'].'</td>
<td>'.$ligne['email'].'</td>
<td>'.$ligne['impression'].'</td>
<td>'.$ligne['commentaire'].'</td>
</tr>';  
  }  

Reply

Marsh Posté le 15-03-2003 à 14:51:20    

http://users.skynet.be/fa374685/images/forum/nope3.jpg
 
Je ne sais vraiment pas ce qui foire, mais je me demande si je ne vais pas aller chercher un GuestBook tout fait sur un site du style http://www.hotscripts.com !! :fou:


Message édité par tomilou le 15-03-2003 à 14:51:51
Reply

Marsh Posté le 16-03-2003 à 13:56:22    

while ($ligne = mysql_fetch_array($res))    
 {  
      echo "<table><tr>
<td>$ligne[0]</td>
<td>$ligne[1]</td>
<td>$ligne[2]</td>
<td>$ligne[3]</td>
<td>$ligne[4]</td>
</tr></table>";  
 }  
 
 :pt1cable:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed