Button input et jquery ajax en post ?

krysenn
Invité n'ayant pas de compte PHPfrance

01 août 2012, 11:10

Bonjour,
Je fais un petit script php permettant de créer un lobby de match, cela permet aux joueurs de la communauté de le rejoindre grâce à un bouton rejoindre.
Ce bouton est un bouton submit:
<input type="submit" name="join" id="join" value="Rejoindre" /> 
Qui est ensuite interpréter:
// REJOINDRE PICKUP 
     if(isset($_POST["join"])) 
     { 
      // on compte le nombre d'enregistrement dans la table pour voir si le joueur fait déjà partie du pickup 
      $sql_players = "SELECT COUNT(pseudo) FROM joueurs WHERE pseudo='$pseudo' AND pickup_id='$id_pickup'"; 
      $req_players = mysql_query($sql_players) or die('Erreur de selection '.mysql_error()); 
      $total = mysql_fetch_row($req_players); 
       //Si le champ est vide  
       if($total[0] == 0) 
       { 
        $sql_rejoindrepickup = "INSERT INTO joueurs(pickup_id, id, pseudo, email, usrid) VALUES('$id_pickup', '', '$pseudo', '$email', '$usrid')"; 
        $req_rejoindrepickup = mysql_query($sql_rejoindrepickup) or die('Erreur de selection '.mysql_error()); 
        echo 'Vous avez rejoint ce pickup'; 
       } 
       // égal à 1 
       else if($total[0] >= 1) 
       { 
        echo 'Vous avez déjà rejoint le pickup.'; 
       } 
     // erreur 
     else 
     { 
      echo 'Une erreur ces produite, impossible de vous faire rejoindre le pickup.'; 
     } 
     }
Mais le problème c'est que lorsque je clique sur le bouton 'Rejoindre' cela me fait bien mes requête dans la BDD etc... mais la liste des participants n'est pas rafraichi il faut que moi même je fasse f5 pour me voir dans la liste.
Donc je me suis intéresser à ajax le problème c'est que je trouve rien d'un cas similaire, il y a tout le temps des input de texte qui sont ensuite vérifier, hors la j'ai seulement mon bouton d'envoie.
Pourriez vous m'aider avez vous des pistes ?

Eléphant du PHP | 451 Messages

01 août 2012, 20:58

Essaye ceci:
[javascript]
$('#join').submit(function() {
// Le code de ta requête ajax

return false; // Important: pour empêcher le navigateur de rafraichir la page
});
[/javascript]

ViPHP
xTG
ViPHP | 7331 Messages

02 août 2012, 07:07

Pour raffraichir il faut que tu le fasses toi même dans le code.
Actuellement tu postes le formulaire et puis c'est tout non ?
Il faut une autre requête ajax qui va récupérer les enregistrements et modifier le dom de ta page pour les afficher.

krysenn
Invité n'ayant pas de compte PHPfrance

04 août 2012, 20:07

Bonjour,

Merci de votre aide les gars,
mais j'ai préférer changer tout mon système.

J'ai virer l'ajax(j'y comprenais rien).
Puis à la place j'ai fait un bouton: Rejoindre le pickup qui ouvre une fenêtre popup, avec à l'intérieur les membres qui participent, et une fois tout les membres atteint l'admin peut lancer la partie en cliquant sur un bouton.

Désoler de ne pas voir répondu avant je trouvais plus mon sujet.
Cordialement krysenn.