Formulaire et affichage sur la même page

Résolu
fad2015 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je suis débutant en php mais je sais bien insérer et modifier les informations de dans ma BD à partir d'un formulaire.

je me suis créé un formulaire php contenant une liste déroulante(ville) et un bouton(submit). Lorsque je clique sur la ville, j'arrive à afficher la liste des clients de cette ville dans un tableau sous mon formulaire.

J'ai utilisé Ajax(que je ne maitrise pas du tout) pour récupérer les informations dans ma BD, Et jusque là tout va bien.

Mais il se trouve que j'ai créé une cellule dans mon tableau d'affichage qui contient des checkbox. lorsqu'on traite le dossier d'un client, on doit pouvoir cocher le checkbox qui est devant son nom et cliquer sur le bouton(submit). et le clic sur ce bouton doit informer la BD que ce client est traité et afficher les autres clients qui ne sont pas encore traités.
Mon problème est que j'arrive pas à récupérer la valeur des checkbox dans un autre fichier traitement.php parce que ce checkbox à été crée lors de l'appel avec Ajax.

Si quelqu'un pouvait m'aider à résoudre ce problème j'en serai vraiment ravis.

voici le code de ma page affiche.php
//******connexion à a BD déjà effectuéé***

<?php
// Requête pour récupérer la liste des villes
// enregistrées dans la BDD
$sql='SELECT DISTINCT ville
   FROM client 
   GROUP BY  ville
   ORDER BY ville '; 
$arrVilles=mysql_query($sql); // lancement de la requêtre 
?>

<form action="" method="post">
 VILLE 
<select  name="ville" id="sel_ville" onclick="afficheVille(this.value);">
     <option value="choisir une ville"></option>
       <?php
              while( $data=mysql_fetch_array($arrVilles)) { 
                    $ville = $data['ville'];
                   echo "<option value='$ville'>$ville</option>";
   }
 ?>
 </select>

   <script type="text/javascript">
       //Script permettant de rafraichir la page 
       //en fonction de la ville selectionnée
       // Necessite la librairie JQUERY
       function afficheVille(ville){
       urlAjx = "recherche.ajx.php";
        $.ajax({   
       type: "POST",
        url:urlAjx,
        data: "ville="+ville,
        async: false,
        dataType: "html",
        success: function(data){
          $("#tbody_detail").html(data);
        },
        error:function(reponse){
        alert('error ' + reponse);
        }
        });

       }
       </script>  

<input type="submit" value="Valider" >
 <table border=1" id="tbl_donnees"> 
          <thead>
           <tr> 
//************Entête de mon tableau d'affichage*************                                       </tr>           
         </thead>           
   <tbody id="tbody_detail">           
   < /tbody>        
     </table> 
</form>



Voici le code de ma page rechercher.ajx.php
<?php

$result="";
 $ville=isset($_POST['ville'])?$_POST['ville']:NULL;
 if($ville){ 
  $req='select * from client where ville="'.$_POST['ville'].'" and valider!="oui"'; 
  $res=mysql_query($req); // lancement de la requêtre 

   while( $data=mysql_fetch_array($res)) {  
   $result .="
     <tr>   
 <td><font size=2>".$data['nom']."</font></td> 
 <td><font size=2>".$data['prenom']."</font></td> 
        <td><font size=2>".$data['date nais']."</font></td>
        <td><font size=2>".$data['ville']."</font></td> 
 <td><font size=2>".$data['portable']."</font></td> 
 <td><font size=2>".$data['fixe']."</font></td>
        <td><font size=2>".$data['email']."</font></td> 
 <td><font size=2>".$data['code postal']."</font></td> 
 <td><font size=2>".$data['adresse']."</font></td>
<bold><td> <input type='checkbox' name='valider[]' value=.$data['nom']." > </td></bold> //c'est cette valeur que je veux récupérer
</tr>";    
    } 
 }
 print ($result);
?>




je suis vraiment bloqué sur ça!! merci d'avance à tous ceux essayerons de m'aider....


EDIT : Ajout du langage dans les balises de code

2 réponses

hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Bonsoir,

Je crois qu'il faut créer un second formulaire lorsque vous affichez les clients de la ville. Sinon, ce que vous envoyez via le submit n'ai pas traité.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
Mon problème est que j'arrive pas à récupérer la valeur des checkbox dans un autre fichier traitement.php parce que ce checkbox à été crée lors de l'appel avec Ajax.

Que la checkbox soit créée via Ajax ou Php ou directement dans le html de la page n'a pas d'incidence sur son fonctionnement....
par contre.. tu as oublié des quotes autour de son attribut VALUE :
<td> <input type='checkbox' name='valider[]' value=.$data['nom']." > </td><
</tr>";    


A transformer en :
<td> <input type='checkbox' name='valider[]' value='".$data['nom']."' > </td><
</tr>";    


Cordialement,
Jordane
0
fad2015 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 
merci ça marche c'est tout bon.... merciiii
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > fad2015 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0