IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Multi checkbox et reqûetes


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut [AJAX] Multi checkbox et reqûetes
    Salut tout le monde bon mon but est de à partir des checkbox , je clique sur un boutton qui fait appel à une fonction , cette fonction va chercher à partir de la base de données les utilisateur ayant comme Id , la value de ces checkbox ,

    le problème c'est dans send de l'ajax , comment devrais je faire pour envoyer toutes les valeurs des checkbox ?
    Mon code qui commence depuis la réponse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    if(xhr.readyState == 4 && xhr.status == 200){
    leselect = xhr.responseText;
    // On se sert de innerHTML pour rajouter les options a la liste
    document.getElementById('livre').innerHTML =leselect;
    }
    }
    // Ici on va voir comment faire du post
    xhr.open("POST","Ajaxtest.php",true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    // ici, l'id de l'auteur
    for (var i = 0; i < document.forms["formlivre"].elements["auteur"].length; i++ ) {
     if(document.forms["formlivre"].elements["auteur"][i].checked) {
    idauteur[i] = document.forms["formlivre"].elements["auteur"][i].value;
    alert(idauteur[i]);}
    xhr.send("idAuteur="+idauteur[i]);}
    }}
    </script>
    </head>
    <body>
    <form name ="formlivre">
    <fieldset style="width: 500px">
    <legend>Liste liées</legend>
    <label>Auteurs</label>
    <input name='auteur'  type="button" value="trouver" onclick='go()'>
    <?php
    mysql_connect("localhost","root","root");
    mysql_select_db("tes1");
    $res = mysql_query("SELECT * FROM auteur ORDER BY nom");
    while($row = mysql_fetch_assoc($res)){
    echo "<input type='checkbox' name='auteur[]' value='".$row["id"]."'>".$row["nom"];}
    ?>
    </select>
    <label>Livres</label>
    <div id='livre' style='display:inline'>
    </div>
    </fieldset>
    </form>
    </body>
    </html>
    dans l'autre fichier php ,qui fait le traitement
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    echo "<table name='livre'>";
    for($i=0;$i<count($_POST["auteur"]);$i++){
    if(isset($_POST["idAuteur"])){
    mysql_connect("localhost","root","root");
    mysql_select_db("tes1");
    $res = mysql_query("SELECT id,titre FROM livre
    WHERE idAuteur=".$_POST["idAuteur"][$i]." ORDER BY titre");
    while($row = mysql_fetch_assoc($res)){
    echo "<tr>
    <td id='".$row["id"]."'>".$row["titre"]."</td></tr>";
    }
    }
    }
    echo "</table>";
    ?>
    Quelqu'un peut m'aider ? Je suis bloqué

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Tu dois faire une seule send et sérialiser la variable de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var idAuteur="idAuteur[]="+val1+"&idAuteur[]="+val2"&idAuteur[]="+val3;
    xhr.send(idAuteur);
    A+.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    Bonjour , donc le code sera en quelque sorte comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for (var i = 0; i < document.forms["formlivre"].elements["auteur"].length; i++ ) {
     if(document.forms["formlivre"].elements["auteur"][i].checked) {
    idauteur[i] = document.forms["formlivre"].elements["auteur"][i].value;
    }
    var idAuteur="idAuteur[]="+val1+"&idAuteur[]="+val2"&idAuteur[]="+val3;
    xhr.send(idAuteur);
    }
    }
    je ne vois pas d'où récupérer les val1 et val2 ...
    sinon dans le fichier de traitement je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $res = mysql_query("SELECT id,titre FROM livre
    WHERE idAuteur=".$_POST["idAuteur"]." ORDER BY titre");
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $res = mysql_query("SELECT id,titre FROM livre
    WHERE idAuteur=".$_POST["idAuteur"][$i]." ORDER BY titre");
    avec le $i la variable de boucle qui parcours les checkbox .. ?
    Merci pour ton aide .

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (var i = 0; i < document.forms["formlivre"].elements["auteur"].length; i++ ) {
     if(document.forms["formlivre"].elements["auteur"][i].checked) {
    idauteur[i] = "idAuteur[]="+document.forms["formlivre"].elements["auteur"][i].value;
    }
    xhr.send(idauteur.join("&"));
    A+.

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    Quand je reçois ce qui est envoyé , je le traite normalement ?je veux dire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE idAuteur=".$_POST["idAuteur"]."
    ou alors j'agis sur le tableau ?
    Merci

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    $_POST["idAuteur"] est un tableau.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Multi checkbox et envoi des valeurs avec ajax
    Par guillaumeIOB dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/11/2017, 10h42
  2. [AJAX] Multi Checkbox et Ajax
    Par Are-no dans le forum AJAX
    Réponses: 1
    Dernier message: 15/06/2009, 15h00
  3. [AJAX] Ajax Multi httprequest
    Par foxblue dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/09/2007, 08h15
  4. [AJAX] Ajax multi requêtes VS Hebergement
    Par zhell dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/04/2007, 18h06
  5. [MySQL] multi checkbox et fonction mail
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 25/02/2007, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo