Résultat validation formulaire qui se répète plusieurs fois sur ma page
Bonjour à tous,
Voila j'ai fait un simple formulaire qui doit rechercher des résultats dans ma BDD SQL en fonction des choix du formulaire.
Le programme fonctionne mais à chaque fois que je clique sur Envoi, il me répète le div de résultat, au lieu d’effacer le précédent et réinitialiser la demande.
J'ai regardé un paquet de tutos, je débute humblement dans l'Ajax et le jQuery, mais je m'embrouille entre les deux...
Formulaire :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<? if ($S_sex=="1"){$Nsex="Femme";}if ($S_sex=="2"){$Nsex="Homme";} echo '<select id="S_sex" name="S_sex">';if ($S_sex<>"0" and $S_sex<>""){echo "<option selected value='$S_sex'>$Nsex</option><option value=''>-Sexe-</option>";}else { echo "<option selected value='0'>-Sexe-</option>";}?><option value="1">Femme</option><option value="2">Homme</option></select>
<br><? if ($S_group=="2"){$Ngroup="Modele";}if ($S_group=="3"){$Ngroup="Photographe";}if ($S_group=="4"){$Ngroup="Makeup";}if ($S_group=="5"){$Ngroup="Styliste";}if ($S_group=="6"){$Ngroup="Coiffeur";}if ($S_group=="7"){$Ngroup="Agence";}if ($S_group=="8"){$Ngroup="Studio";}?><select id="S_group" name="S_group"><? if ($S_group<>"0" and $S_group<>""){ echo "<option selected value='$S_group'>$Ngroup</option><option value=''>-Groupe-</option>";}else { echo "<option selected value='0'>-Groupe-</option>";}?><option value="2">Modele</option><option value="3">Photographe</option><option value="4">Makeup</option><option value="5">Styliste</option><option value="6">Coiffeur</option><option value="7">Agence</option><option value="8">Studio</option></select>
<br>
<br />
<div style="float:left; margin-right:2px; width:49%">
<input type="checkbox" name="S_Act" id="S_Act" value="1" <? if ($S_Act=="1"){echo " checked";}?>> <b>Acteur</b><br>
</div>
<div role="button" class="gbutton" id="f_search">Envoi</div>
<div id="d_search"></div> |
Code Ajax/jQuery :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
$(document).ready(function(){
$('#f_search').livequery("click", function(){
var S_sex = $('#S_sex').val();
var S_group = $('#S_group').val();
var S_act=$('input[name="S_act"]:checked').attr('value'); if (S_act!="1"){S_act='0';} // je suis obligé de faire un if sinon si c'est pas coché il me renvoi une valeur indifined
$.post("search.php?Sex="+S_sex+"&Group="+S_group+"&Act="+S_act, {},
function(response){
$("#loadpage").hide("");
$("#d_search").fadeIn("");
$('#d_search').prepend($(response).fadeIn('slow'));
});
}); |
PHP :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
<?php
$class="";
$Vsex = $_REQUEST['Sex'];
$Vgroup=$_REQUEST['Group'];
if ($Vgroup<>"0" and $Vgroup<>"") {$S_group=$Vgroup;} if ($S_group<>"0" and $S_group<>""){$Tgroup="group_id=$S_group";$Ugroup="group_id='$S_group' and";}
if ($Vsex<>"0" and $Vsex<>"") {$S_sex=$Vsex;} if ($S_sex<>"0" and $S_sex<>""){$Tsex="sex=$S_sex";$Usex="sex='$S_sex' and";}
$VAct=$_REQUEST['Act'];
if ($VAct<>"0" and $VAct<>"") {$S_Act=$VAct;} if ($S_Act<>"0" and $S_Act<>""){$thm14="acteur='$S_Act' and";$th14="Act=$S_Act";}
$sql = mysql_query("SELECT * FROM `pix_users` U, `pix_users_det` D where U.user_id=D.user_id and $Ugroup $Usex $thm14 $thm15 $thm16 $thm17 acc='1' and supp<>'1' $class");
$nbr=mysql_num_rows($sql);
echo "N : $nbr"; |
Dans mon exemple, voila le résultat que j'obtiens en cliquant plusieurs fois sur ENVOI :
Citation:
N : 1679
N : 1245
N : 958
N : 239
Alors que je ne voudrais qu'un seul résultat à la fois.
Merci beaucoup de votre aide, parce que j'ai tenté un paquet de formulaires, je ne comprends pas. :(