<html> <head> <title></title> <script src="jquery.js"></script> </head> <body> <form action="" name="form"> <div class="region"> <?php include('connectBDD.php'); $requete=$bdd->query('select *from region'); while($region=$requete->fetch()){ echo '<input type="checkbox" onclick="cocher(this.form.checkbox);" name="checkbox'.$region['id_region'].'" value="'.$region['id_region'].'">'.$region['region'].'<br>'; } ?> </div> <div class="district"> </div> </form> </body> <script> function cocher(){ for(i=1;i<=22;i++){ if(eval("document.forms.form.checkbox"+i+".checked == true")){ $.post('recup.php',{i:i},function(data){ $('.district').html(data); }); }else{ $('.district').empty(); } } } </script> </html>
<?php include('connectBDD.php'); if(isset($_POST['i'])){ $i=mysql_real_escape_string(htmlspecialchars(trim($_POST['i']))); $requete=$bdd->query('Select *from district where id_region = '.$i); while($district = $requete->fetch()){ echo $district['district'].'<br>'; } } ?> <hr>
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
mysql_real_escape_stringde l'ancienne extension mysql ??
mysql_real_escape_string
<html> <head> <title></title> <script src="jquery.js"></script> </head> <body> <div class="region"> <?php for($i=0;$i<10;$i++){ echo '<input type="checkbox" class="chk_region" name="checkbox'.$i.'" value="'.$i.'"> region_'.$i.'<br>'; } ?> </div> <div class="district"> </div> </body> </html> <script type="text/javascript"> // Pour chaque checkbox cochée : $(".chk_region").click(function(){ // On commence par vider district : $('.district').empty(); //On récupère les données PHP $(".chk_region:checked").each(function(){ var i = $(this).val(); $.post('monfichierphpajax.php',{i:i},function(data){ $('.district').append(data); }); }); }); </script>
<?php // Permet l'affichage des erreurs php error_reporting(E_ALL); //connexion à la BDD include('connectBDD.php'); //Récupération "propre" des variables POST $i = !empty($_POST['i']) ? $_POST['i'] : NULL; // initialisation de la variable de retour $result = ""; //traitement : if($i){ $sql = "Select *from district where id_region = :i "; $a_datas = array(":i"=>$i); try{ $requete = $bdd->prepare($sql); $requete->execute($a_datas); }catch (Exception $e){ echo "<br>Erreur : " . $e->getMessage(); echo "<br> <b>Requete :<b><br> ".$sql; echo "<br> params :<br><pre>"; print_r($a_datas); echo "</pre>"; exit(); } while($district = $requete->fetch()){ $result .= $district['district'].'<br>'; } } //retour du résultat echo $result; ?>