problème formulaire de recherche valeur multiple
Posté : 12 janv. 2015, 21:02
Bonjour,
Très novice j'essaye de modifier un script de formulaire de recherche Php.
Pour l'instant je peux rechercher dans ma base de données soit les hommes soit les femmes.
Via le formulaire :
Pouvez vous m'aider?
Pour info voici le code qui montre le resultat de la recherche (je m'y perd carrèment!):
Très novice j'essaye de modifier un script de formulaire de recherche Php.
Pour l'instant je peux rechercher dans ma base de données soit les hommes soit les femmes.
Via le formulaire :
<select name="zsex" size=2>
<option value="0"><?php _e('Homme','rencontre');?></option>
<option value="1"><?php _e('Femme','rencontre');?></option>
</select> </span>
J'aimerai avoir une troisième valeur : Type "indifferent" pour rechercher l'un ou l'autre sachant que dans ma table je n'ai que des 0 pour homme et 1 pour femme. A la rigueur cela m'irait si l'abscence de choix me donnait tout les resultats mais la fonction recherche ne donne rien du tout.Pouvez vous m'aider?
Pour info voici le code qui montre le resultat de la recherche (je m'y perd carrèment!):
/ Resultat de la recherche plus
global $wpdb; global $rencOpt; global $rencDiv;
$pagine = (isset($_POST['pagine'])?$_POST['pagine']:0);
$suiv = 1;
?>
<form name='rencPagine' method='post' action=''>
<input type='hidden' name='page' value='liste' />
<input type='hidden' name='pays' value='<?php echo (isset($_POST['pays'])?$_POST['pays']:''); ?>' />
<input type='hidden' name='region' value='<?php echo (isset($_POST['region'])?$_POST['region']:''); ?>' />
<input type='hidden' name='ville' value='<?php echo (isset($_POST['ville'])?$_POST['ville']:''); ?>' />
<input type='hidden' name='gps' value='<?php echo (isset($_POST['gps'])?$_POST['gps']:''); ?>' />
<input type='hidden' name='km' value='<?php echo (isset($_POST['km'])?$_POST['km']:''); ?>' />
<input type='hidden' name='pseudo' value='<?php echo (isset($_POST['pseudo'])?$_POST['pseudo']:''); ?>' />
<input type='hidden' name='zsex' value='<?php echo (isset($_POST['zsex'])?$_POST['zsex']:''); ?>' />
<input type='hidden' name='ageMin' value='<?php echo (isset($_POST['ageMin'])?$_POST['ageMin']:''); ?>' />
<input type='hidden' name='ageMax' value='<?php echo (isset($_POST['ageMax'])?$_POST['ageMax']:''); ?>' />
<input type='hidden' name='mot' value='<?php echo (isset($_POST['mot'])?$_POST['mot']:''); ?>' />
<input type='hidden' name='photo' value='<?php echo (isset($_POST['photo'])?$_POST['photo']:''); ?>' />
<input type='hidden' name='id' value='<?php echo (isset($_POST['id'])?$_POST['id']:''); ?>' />
<input type='hidden' name='pagine' value='<?php echo $pagine; ?>' />
</form>
<?php
if ($_POST['pseudo']) $s="SELECT R.user_id, R.i_zsex, R.i_zage_min, R.i_zage_max, R.i_zrelation, P.t_annonce
FROM ".$wpdb->prefix."rencontre_users_profil P, ".$wpdb->prefix."rencontre_users R, ".$wpdb->prefix."users U
WHERE U.user_login LIKE '%".strip_tags($_POST['pseudo'])."%' and R.i_sex=".strip_tags($_POST['zsex'])." and U.ID=R.user_id and P.user_id=R.user_id";
else
{
$s="SELECT U.user_login, R.user_id, R.i_zsex, R.i_zage_min, R.i_zage_max, R.i_zrelation, R.i_photo, R.e_lat, R.e_lon, P.t_annonce FROM ".$wpdb->prefix."users U, ".$wpdb->prefix."rencontre_users_profil P, ".$wpdb->prefix."rencontre_users R WHERE U.ID=R.user_id and P.user_id=R.user_id and R.i_sex=".strip_tags($_POST['zsex'])." and R.i_zsex".((strip_tags($_POST['']))?'=':'!=').strip_tags($_POST['zsex']);
if ($_POST['ageMin']>18) {$zmin=date("Y-m-d",mktime(0, 0, 0, date("m"), date("d"), date("Y")-strip_tags($_POST['ageMin']))); $s.=" and R.d_naissance<'".$zmin."'";}
if ($_POST['ageMax']<99) {$zmax=date("Y-m-d",mktime(0, 0, 0, date("m"), date("d"), date("Y")-strip_tags($_POST['ageMax']))); $s.=" and R.d_naissance>'".$zmax."'";}
if(strip_tags($_POST[' '])) $s.=" and R.user_id!=".strip_tags($_POST['id']);
if ($_POST['gps'] && $_POST['km'])
{
$gps = explode('|',strip_tags($_POST['gps']));
if(isset($gps[1]))
{
$dlat = (strip_tags($_POST['km']) / 1.852 / 60);
$dlon = (strip_tags($_POST['km']) / 1.852 / 60 / cos($gps[0] * 0.0174533));
$s.=" and ((R.e_lat<".($gps[0]+$dlat)." and R.e_lat>".($gps[0]-$dlat)." and R.e_lon<".($gps[1]+$dlon)." and R.e_lon>".($gps[1]-$dlon).")";
if ($_POST['ville']) $s.=" or R.c_ville LIKE '".strip_tags($_POST['ville'])."'";
$s .= ")";
}
}
else if ($_POST['ville']) $s.=" and R.c_ville LIKE '".strip_tags($_POST['ville'])."'";
if ($_POST['pays']) $s.=" and R.c_pays='".$_POST['pays']."'";
if ($_POST['region']) $s.=" and R.c_region LIKE '".addslashes($wpdb->get_var("SELECT c_liste_valeur FROM ".$wpdb->prefix."rencontre_liste WHERE id='".$_POST['region']."'"))."'";
if ($_POST['mot']) $s.=" and (P.t_annonce LIKE '%".$_POST['mot']."%' or P.t_titre LIKE '%".strip_tags($_POST['mot'])."%')";
if (isset($_POST['photo']) && $_POST['photo']=='1') $s.=" and R.i_photo>0";
}
$s.=" ORDER BY R.d_session DESC, P.d_modif DESC LIMIT ".($pagine*$rencOpt['limit']).", ".($rencOpt['limit']+1); // LIMIT indice du premier, nombre de resultat
$q = $wpdb->get_results($s);
if($wpdb->num_rows<=$rencOpt['limit']) $suiv=0;
else array_pop($q); // supp le dernier ($rencOpt['limit']+1) qui sert a savoir si page suivante
if(isset($gps[1]))
{
echo '<div id="rencMap2" style="display:block;"></div>'."\r\n";
echo '<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>'."\r\n";
echo '<script type="text/javascript">var lat='.$gps[0].',lon='.$gps[1].',gps=[';
foreach ($q as $k=>$r)
{
if($k) echo',';
echo '['.$r->e_lat.','.$r->e_lon.',"'.$r->i_photo.'","'.$r->user_login.'","'.$r->user_id.'"]';
}
echo '];'."\r\n".'jQuery(document).ready(function(){f_mapCherche(gps,lat,lon,"'.$rencDiv['siteurl'].'");});</script>'."\r\n";
}
foreach($q as $r)
{ ?>
<div class="rencBox">
<?php RencontreWidget::f_miniPortrait($r->user_id); ?>
<div class="maxiBox right rel">
<?php echo stripslashes($r->t_annonce); ?>
<div style="height:38px;"></div>
<div class="abso225">
<?php echo __('Je cherche','rencontre').' '.(($r->i_zsex==1)?__('une femme','rencontre'):''.(($s->i_zsex==0)?__('un homme','rencontre'):__('une personne','rencontre'))).'<br />';
echo ' '.__('entre','rencontre').' '.$r->i_zage_min.' '.__('et','rencontre').' '.$r->i_zage_max.' '.__('ans','rencontre').'<br />';
echo __('pour','rencontre').' '.(($r->i_zrelation==0)?__('Amitié profonde','rencontre'):''.(($r->i_zrelation==1)?__('Copain/Relations','rencontre'):__('Partage d\'activité (Sport/Jeux...)','rencontre'))); ?>
</div>
<div class="abso135">
<div class="button right"><a href="javascript:void(0)" onClick="document.forms['rencMenu'].elements['page'].value='ecrire';document.forms['rencMenu'].elements['id'].value='<?php echo $r->user_id; ?>';document.forms['rencMenu'].submit();"><?php _e('Envoyer un message','rencontre');?></a></div>
<div class="button right"><a href="javascript:void(0)" onClick="document.forms['rencMenu'].elements['page'].value='sourire';document.forms['rencMenu'].elements['id'].value='<?php echo $r->user_id; ?>';document.forms['rencMenu'].submit();"><?php _e('Lui sourire','rencontre');?></a></div>
<div class="button right"><a href="javascript:void(0)" onClick="document.forms['rencMenu'].elements['page'].value='portrait';document.forms['rencMenu'].elements['id'].value='<?php echo $r->user_id; ?>';document.forms['rencMenu'].submit();"><?php _e('Profil','rencontre');?></a></div>
</div>
</div><!-- .grandeBox .right -->
<div class="clear"></div>
</div>
<?php }
if($pagine||$suiv)
{
echo '<div class="rencPagine">';
if(($pagine+0)>0) echo "<a href=\"javascript:void(0)\" onClick=\"document.forms['rencPagine'].elements['pagine'].value=parseInt(document.forms['rencPagine'].elements['pagine'].value)-1;document.forms['rencPagine'].submit();\">".__('Page précédente','rencontre')."</a>";
for($v=max(0, $pagine-4); $v<$pagine; ++$v)
{
echo "<a href=\"javascript:void(0)\" onClick=\"document.forms['rencPagine'].elements['pagine'].value='".$v."';document.forms['rencPagine'].submit();\">".$v."</a>";
}
echo "<span>".$pagine."</span>";
if($suiv) echo "<a href=\"javascript:void(0)\" onClick=\"document.forms['rencPagine'].elements['pagine'].value=parseInt(document.forms['rencPagine'].elements['pagine'].value)+1;document.forms['rencPagine'].submit();\">".__('Page suivante','rencontre')."</a>";
echo '</div>';
}
}