PHP Formulaire vers une même page sans submit

boss183 Messages postés 187 Statut Membre -  
boss183 Messages postés 187 Statut Membre -
Bonjour à tous,

dans ma page php, j'ai un petit formulaire sous forme de menu déroulant, et en fonction du choix de l'utilisateur dans ce menu déroulant, l'affichage de la page diffère. Ca marche plutôt bien mais je voulais savoir s'il était possible de faire le changement sans avoir à utiliser un bouton de type "submit". C'est à dire, dès que l'utilisateur change dans le menu déroulant, l'affichage se change automatiquement.

Merci d'avance !

Ci-dessous mon code (codé un peu à l'arrache ^^) :
$requete = "SELECT ouapi_contrat.date_debut, ouapi_contrat.duree_mois, ouapi_contrat.reference, ouapi_co_type.libelle, ouapi_sites.libelle, ouapi_entreprise.raison_sociale, ouapi_contrat.agence_id, ouapi_contrat.id FROM ouapi_contrat, ouapi_co_type, ouapi_sites, ouapi_entreprise WHERE ouapi_contrat.agence_id = ouapi_sites.id AND ouapi_contrat.type_id = ouapi_co_type.id AND ouapi_entreprise.id = ouapi_contrat.entreprise_id ORDER BY ouapi_sites.libelle"; 
$reponse = mysql_query ($requete)or die (mysql_error()); ; 
$compt = 0; 
$mef = "A"; 

echo '<form method="post" action="traitementcontrat.php">'; 
echo '<p align="center"><label for="pays">Combien de mois?</label><br />'; 
echo '<select name="mois" id="mois">'; 
echo '<option value="1">1</option>'; 
echo '<option value="2">2</option>'; 
echo '<option value="3">3</option>'; 
echo '<option value="5">5</option>'; 
echo '<option value="7">7</option>'; 
echo '<option value="12">12</option>'; 
echo '<option value="24">24</option>'; 
echo '<option value="36">36</option>'; 
echo '</select></p>'; 
echo '<input type="submit" name="Submit" value="Envoyer">'; 
echo '</form>'; 

$choix = ($_POST['mois']); 

while ($row = mysql_fetch_array($reponse)) 
{ 
 $datedeb = $row[0]; 
 $duree = $row[1]; 
 $ref = $row[2]; 
 $type = $row[3]; 
 $site = $row[4]; 
 $entr = $row[5]; 
 $siteid = $row[6]; 
 $contid = $row[7]; 
  
 // Conversion de la date de début en unix timestamp 
 list($y,$m,$d) = explode('-', $datedeb); 
 $utdb = mktime(12,0,0,$m,$d,$y); 

 // Calcul de la fin du contrat: 
 $utdf = strtotime("+".$duree." months", $utdb); 

 // On prend la date du jour à 12h, pour être dans le même contexte horaire que le contrat: 
 $now = mktime(12, 0, 0, date('m'), date('d'), date('Y')); 
  
 //Date de fin avec le bon format 
 $datefin = date('d-m-Y', $utdf); 
  
 // Comparaison des dates: 
 if (strtotime("+".$choix." months", $now) > $utdf AND $now < $utdf) 
  { 
  if ($mef!=$site) 
   { 
   echo "<BR><BR>"; 
   echo "<p align='center'>"; 
   echo "<A HREF=\"http://192.168.66.110/ouapi1.0/index.php?page=accueil.php&agence_id=$siteid&rubrique=contr\" TITLE='Voir les contrats de cette entreprise'><FONT SIZE=5>".$site."</FONT></A><BR><BR>"; 
   echo "<A HREF=\"http://192.168.66.110/ouapi1.0/index.php?page=visu_fiche.php&type=contr&id=$contid&action=visu\" TITLE='Voir la fiche du contrat'>".$ref."</A><BR>"; 
   echo $entr." > "; 
   echo $type."</A><BR>"; 
   echo "Date de fin : ".$datefin."<BR>"; 
   echo "</p>"; 
   $mef = $site; 
   } 
  else 
   { 
   echo "<p align='center'>"; 
   echo "<A HREF=\"http://192.168.66.110/ouapi1.0/index.php?page=visu_fiche.php&type=contr&id=$contid&action=visu\" TITLE='Voir la fiche du contrat'>".$ref."</A><BR>"; 
   echo $entr." > "; 
   echo $type."</A><BR>"; 
   echo "Date de fin : ".$datefin."<BR>"; 
   echo "</p>"; 
   } 
  $compt = $compt+1; 
  } 
   
} 
if ($compt == 0) 
echo "Aucun contrat ne se termine avant ".$choix." mois !"; 




1 réponse

boss183 Messages postés 187 Statut Membre 17
 
C'est bon j'ai trouvé, il faut utiliser : select onchange=submit()
0