PHP Formulaire vers une même page sans submit

Fermé
boss183 Messages postés 181 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 7 octobre 2011 - Modifié par boss183 le 20/05/2011 à 15:39
boss183 Messages postés 181 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 7 octobre 2011 - 20 mai 2011 à 16:12
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 !"; 




A voir également:

1 réponse

boss183 Messages postés 181 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 7 octobre 2011 17
20 mai 2011 à 16:12
C'est bon j'ai trouvé, il faut utiliser : select onchange=submit()
0