Prob d'affichage dun aray

Statut
N'est pas ouverte pour d'autres réponses.
D

d e v

ex membre
Ba voila j'ai fait un scirpt a la facon minichat pour que 10phrases reste enregistrée mais a l'affichage sa ne marche pa ( voir gra ou est l'erreur )



<?
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL)
{

mysql_connect("mysqlbox", "login", "motdpass");
mysql_select_db("bdd");

$message = htmlentities ($_POST['message']);
$pseudo = htmlentities ($_POST['pseudo']);

mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");

mysql_close();
}
}

?>

<form action="chat.php" method="post">

<center>
Pseudo : <input type="text" name="pseudo"><br>
Message : <input type="text" name="message"><br>

<input type="submit" value="Envoyer">
</center>

</form><p>



<?

mysql_connect("mysqlbox", "pseudo", "motdpass");
mysql_select_db("bdd");

$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10") or die(mysql_error());

mysql_close();

while ($donnee = mysql_fetch_array($reponse) );
{
?>

<? echo $donnee['pseudo']; ?> : <? echo $donnee['message']; ?>
<p>

<?

}

?>
 

Carambar

Elite
Jette un coup d'oeil sur le contenu de l'array avec ceci :

Code:
echo ('<pre>'); print_r($donnee); die();
 

kokotchY

Elite
je ne vois pas l'utiliter du die() !

sinon d3v-, c'est peut etre la table minichat que tu n'as pas crée !

a la fin apres ce que Fearless a dit d'ajouter, mets ceci :
echo mysql_error();
pour voir s'il y a une erreur sql

Ba voila j'ai fait un scirpt a la facon minichat
(tu aurais pu dire que ce n'était pas de toi :roll: )
 

Carambar

Elite
Pas besoin de crier ;) . Le die a toute son utilité puisque cette instruction interrompt la génération d'un page et se limite à l'affichage du contenu d'un variable. Crois moi, ca se justifie lorsqu'une page comporte beaucoup d'éléments graphiques et autres. Ca évite aussi d'exécuter des modifications de la DB en SQL qui pourrais s'y trouver par la suite.

koko a dit:
sinon d3v-, c'est peut etre la table minichat que tu n'as pas crée !
Bonne question :p . Est-ce qu'elle existe cette table ?
 

kokotchY

Elite
a ouais pas con le coup du die, j'y avais jamais pensé (bien que je ne l'utilise que dans les mysql_query(...) or die() )
 
1er
OP
D

d e v

ex membre
ué la table minichat est crée
 

kokotchY

Elite
tu as essayé de mettre un mysql_error() ?
 
1er
OP
D

d e v

ex membre
ué y a rien
 
1er
OP
D

d e v

ex membre
jl'avais dja mi :]
 

kokotchY

Elite
et pourquoi ca ne marche pas ?
rien ne s'affiche ?
 

guslinux

Gamerz'ien
tu es sur de pouvoir mettre un "-" dans un nom de table ou de champ ... un "_" oui ... mais j'ai deja eu des blemes avec un soft Java basé sur une DB Access ... donc je pense que c du SQL pour les deux, donc logiquement, pas de "-" en MySQL.
 

kokotchY

Elite
il n'y a pas de - ni de _ dans les champs et tables !
 
X

xXFMCXx

ex membre
while ($donnee = mysql_fetch_array($reponse) );
{
?>

<? echo $donnee['pseudo']; ?> : <? echo $donnee['message']; ?>
<p>

<?

}
Il y a une petite erreur dans ton script...
Mais tu aurais dû avoir un message d'erreur, c'est pourquoi je ne comprends pas très bien, regarde à la fin de ta ligne "while(... ". Il y a un ";". Ce qui provoque une erreur étant donné qu'une ligne while le peut se finir qu'avec une "{".

Bonne chance !
 

kokotchY

Elite
non mais c'est effectivement ca l'erreur !
pour une boucle (if, while, for) le bloc { } n'est pas obligatoire si on ne mets qu'une ligne :
if ($test == 3) echo test;
va afficher test sir $test = 3

ici comme il n'y a aucune action, il ne fait rien
 
X

xXFMCXx

ex membre
:cool: lol
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut