Formulaire vers une même page sans bouton "Submit"

Formulaire vers une même page sans bouton "Submit" - PHP - Programmation

Marsh Posté le 20-05-2011 à 15:39:55    

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 ^^) :  

Code :
  1. $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";
  2. $reponse = mysql_query ($requete)or die (mysql_error()); ;
  3. $compt = 0;
  4. $mef = "A";
  5. echo '<form method="post" action="traitementcontrat.php">';
  6. echo '<p align="center"><label for="pays">Combien de mois?</label><br />';
  7. echo '<select name="mois" id="mois">';
  8. echo '<option value="1">1</option>';
  9. echo '<option value="2">2</option>';
  10. echo '<option value="3">3</option>';
  11. echo '<option value="5">5</option>';
  12. echo '<option value="7">7</option>';
  13. echo '<option value="12">12</option>';
  14. echo '<option value="24">24</option>';
  15. echo '<option value="36">36</option>';
  16. echo '</select></p>';
  17. echo '<input type="submit" name="Submit" value="Envoyer">';
  18. echo '</form>';
  19. $choix = ($_POST['mois']);
  20. while ($row = mysql_fetch_array($reponse))
  21. {
  22. $datedeb = $row[0];
  23. $duree = $row[1];
  24. $ref = $row[2];
  25. $type = $row[3];
  26. $site = $row[4];
  27. $entr = $row[5];
  28. $siteid = $row[6];
  29. $contid = $row[7];
  30.  
  31. // Conversion de la date de début en unix timestamp  
  32. list($y,$m,$d) = explode('-', $datedeb);
  33. $utdb = mktime(12,0,0,$m,$d,$y);
  34. // Calcul de la fin du contrat:  
  35. $utdf = strtotime("+".$duree." months", $utdb);
  36. // On prend la date du jour à 12h, pour être dans le même contexte horaire que le contrat:  
  37. $now = mktime(12, 0, 0, date('m'), date('d'), date('Y'));
  38.  
  39. //Date de fin avec le bon format  
  40. $datefin = date('d-m-Y', $utdf);
  41.  
  42. // Comparaison des dates:  
  43. if (strtotime("+".$choix." months", $now) > $utdf AND $now < $utdf)
  44.   {
  45.   if ($mef!=$site)
  46.    {
  47.    echo "<BR><BR>";
  48.    echo "<p align='center'>";
  49.    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>";
  50.    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>";
  51.    echo $entr." > ";
  52.    echo $type."</A><BR>";
  53.    echo "Date de fin : ".$datefin."<BR>";
  54.    echo "</p>";
  55.    $mef = $site;
  56.    }
  57.   else
  58.    {
  59.    echo "<p align='center'>";
  60.    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>";
  61.    echo $entr." > ";
  62.    echo $type."</A><BR>";
  63.    echo "Date de fin : ".$datefin."<BR>";
  64.    echo "</p>";
  65.    }
  66.   $compt = $compt+1;
  67.   }
  68.  
  69. }
  70. if ($compt == 0)
  71. echo "Aucun contrat ne se termine avant ".$choix." mois !";

Reply

Marsh Posté le 20-05-2011 à 15:39:55   

Reply

Marsh Posté le 20-05-2011 à 16:11:39    

J'ai trouvé il faut utiliser select onchange=submit()

Reply

Marsh Posté le 12-12-2011 à 13:23:57    

qtp tu peut nous expliquer comment t'as résolu ton problème car moi j'ai pas réussi :(:(

Reply

Marsh Posté le 12-12-2011 à 23:05:18    

Le mieux c'est de faire de l'AJAX, ça se fait très bien avec JQuery


---------------
Directeur Technique (CTO)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed