JeuWeb - Crée ton jeu par navigateur
formulare $_post Dynamique - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : formulare $_post Dynamique (/showthread.php?tid=6254)



formulare $_post Dynamique - Assas175 - 12-07-2012

bonjour

j'ai un jeu de guerre avec historique & tableau de vente de drogue , ainsi que une ville ou tu peux attaquer les autre.

l'historique des action se trouvais haut dessus , quand on fait une action l'historique ne s'actualise pas . logique jusque la .

donc pour remedier a cela j'ai chercher et j'ai coompris qu'il fallais le httprequest en ajax

seulement je ne sais pas comment il faut faire !

Historique des action :
// On demande a MySQL de nous selectionner tous les bouquins enregistres
$demande = mysql_query('SELECT * FROM historique WHERE player_id="'.$player->id.'" ORDER BY time DESC LIMIT 0,6');
// On fait une boucle ou l'on met en array (tableau) toutes les donnees trouvees
while( $donnees = mysql_fetch_array($demande))
{
$nbr = mysql_num_rows(mysql_query('SELECT * FROM historique WHERE player_id="'.$player->id.'"'));
// On fait une boucle ou l'on met en array (tableau) toutes les donnees trouvees
if($nbr > 0)
{
$date = $donnees['time'];
sscanf($date, "%4s-%2s-%2s %2s:%2s:%2s", $date_Y, $date_m, $date_d, $date_H, $date_i, $date_s);
$dates = date("Y-m-d H:iConfused");
sscanf($dates, "%4s-%2s-%2s %2s:%2s:%2s", $dates_Y, $dates_m, $dates_d, $dates_H, $dates_i, $dates_s);

if($date_d < $dates_d)
{
echo 'Hier a '.$date_H.':'.$date_i.' ';
echo $donnees['message'].'<br/>';
}
else
{
echo ''.$date_H.':'.$date_i.' ';
echo $donnees['message'].'<br/>';
}
}
}
echo'<div align="right" style="margin-right:50px;"><a href="historique.php">Les 15 dernieres actions</a></div>';


Le formulaire de la ville

echo'<form action="ville" method="post">
<table width="0%" border="1" align="center">
<tr>
<td rowspan="3">
<select name="enemy" size="7">';
$enemys = mysql_query('SELECT * FROM players WHERE username <> "'.$player->username.'" and level="'.$player->level.'" and cache="0" and prison="0" and ville="'.$player->ville.'"');
while($enemy = mysql_fetch_array($enemys)){
if($enemy['username']=='PDD'){
echo'<option value="'.$enemy['username'].'" disabled=disabled>'.$enemy['username'].'</option>';
}
else
{
echo'<option value="'.$enemy['id'].'">'.$enemy['username'].'</option>';
}
}
echo'</select>
</td>
<td rowspan="3" colspan="2"><div align="left">';
if ($player->level >1){
echo '<input type="submit" value="Attaquer" class="btn" name="act"><br/>';
}
if ($player->level >1){
echo '<input type="submit" value="Voler" class="btn" name="act"><br/>';
}
if ($player->level >1){
echo '<input type="submit" value="Analyser" class="btn" name="act"><br/>';
}
if ($player->level >2){
echo '<input type="submit" value="Aider" class="btn" name="act"> '.number_format($don, '0', '.', ' ').' €<br/>';
}
if ($player->level >1){
echo '<input type="submit" value="Soigner" class="btn" name="act"> 100 000 €<br/>';
}
if ($player->level >1){
echo '<input type="submit" value="Se cacher" class="btn" name="act"> '.number_format(ceil($cacher), '0', '.', ' ').' €';
}
echo'</div></td>
</tr>
</table></form>

Merci de m'aider car sa fait une semaine que je cherche. Merci


RE: formulare $_post Dynamique - Khazahk - 12-07-2012

Bonjour,

Au risque de paraître vieux jeu, je te propose de jeter un oeil au tutoriel du Site du Zéro qui est très bien expliqué.

SDZ - Ajax

La logique est simple:

1) Tu renvoi les données de ton formulaire pour qu'elles soient vérifiées en PHP.
2) Le PHP retourne une réponse sous forme d'un echo.
3) La réponse est récupérée en AJAX et traitée pour faire une action.

Un exemple concret:

1) Tu rempli un champ "Name" et tu valide le formulaire
2) La valeur du champ "Name" est envoyée au fichier PHP par la méthode GET ou POST
3) Le fichier PHP vérifie par exemple si le champ est rempli. Si c'est le cas on fait un echo 'OK', sinon on fait un echo 'Error'.
4) Cette réponse est récupérée par l'AJAX qui va la traiter grâce à une fonction (cf SDZ). Ainsi par exemple tu aurais une fonction qui afficherait un message d'erreur si la réponse renvoyée par le PHP est 'Error' ou un message de succès si la réponse renvoyée par le PHP est 'OK' Wink.

Et bien sûr tout cela se ferait sans rechargement de la page, c'est toute la puissance de l'AJAX Smile.

Cordialement,
Khazahk



RE: formulare $_post Dynamique - Dexyne - 12-07-2012

Je conseillerais l'utilisation d'un framework type jQuery pour le javascript (et AJAX, c'est super simple - l'AJAX - avec jQuery).


RE: formulare $_post Dynamique - Assas175 - 12-07-2012

Oui j'ai deja regarder ce tutoriel sur le sdz , mais il fait un chat en .txt , c'est ca qui me bloque , c'est que ce ne sois pas vers une base de donee Confused


RE: formulare $_post Dynamique - Khazahk - 12-07-2012

Avec ou sans base de donnée, cela ne change rien. Ce qu'il faut comprendre c'est que l'AJAX ne traite que la réponse du PHP, et réalise une action en Javascript ou JQuery. Rien de plus. Tout le traitement de BDD se fait toujours en PHP, cela ne change pas, que tu utilise tu Javascript ou non pour afficher ton historique Wink.


RE: formulare $_post Dynamique - Assas175 - 12-07-2012

ok merci je vais essayer