listes dynamiques + formulaire + mysql

listes dynamiques + formulaire + mysql - PHP - Programmation

Marsh Posté le 14-02-2005 à 14:46:41    

Hello
j'ai réussi à faire mes 2 listes dynamique dépendantes avec le script suivant.
le hic c'est que je ne vois pas où changer la valeur afin de recevoir dans l'email, non pas la "ref_agenda", mais l'"objet_agenda" et la "date-agenda"...
 
MERCI....
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
<SCRIPT LANGUAGE="JavaScript">
 
function ModifierListe(ref_agenda) {
 
lg = document.inscription.Date_Evenement.length;
 
// On vide la liste
for (i = lg - 1; i >= 0; i--) {
document.inscription.Date_Evenement.options[i] = null;
}
 
ref_agenda = document.inscription.Evenement_choisi.selectedIndex;
 
<?php
 
// Génération des Items par Rubriques
$sql = "SELECT ref_agenda FROM table_agenda ORDER BY ref_agenda DESC";
$resultat = mysql_db_query($Base, $sql);
 
$max_lignes = 0;
$option_max = '';
 
while ($enr = mysql_fetch_array($resultat)) {
 
$sql = "SELECT ref_agenda, date_agenda ";
$sql .= "FROM table_agenda ";
$sql .= "WHERE ref_agenda='".$enr[0]."'";
$sql .= "ORDER BY ref_agenda desc";
$resultat2 = mysql_db_query($Base, $sql);
 
echo " if (document.inscription.Evenement_choisi.options[ref_agenda].value == ".$enr[0]." ) {\n";
echo " document.inscription.Date_Evenement.length = ".(mysql_num_rows($resultat2)).";\n";
$cpt = 0;
while ($enr2 = mysql_fetch_array($resultat2)) {
echo " document.inscription.Date_Evenement.options[".$cpt."].value = ".$enr2[0].";\n";
echo " document.inscription.Date_Evenement.options[".$cpt."].text = \"".$enr2[1]."\";\n";
echo " if (code_item == ".$enr2[0]." ) document.inscription.Date_Evenement.options[".$cpt."].selected = true;\n";
$cpt++;
if ($cpt > $max_lignes) $max_lignes = $cpt;
if (strlen($enr2[1]) > strlen($option_max)) $option_max = $enr2[1];
}
echo " }\n";
}
?>  
}  
 
</SCRIPT>
 
<?php  
// ----------------------------------------------------------------------------
// Liste Rubriques
// ----------------------------------------------------------------------------
$sql = "SELECT ref_agenda, objet_agenda FROM table_agenda ORDER BY ref_agenda DESC";
$resultat = mysql_db_query($Base, $sql);
 
//echo "<FORM METHOD=POST NAME='inscription'>";
 
//echo "<BR> <B>Rubriques</B> ";
echo " <SELECT NAME='Evenement_choisi' onChange='ModifierListe(-1)'>\n";
//if (!isset($Evenement_choisi)) $Evenement_choisi = -1;
while ($enr = mysql_fetch_array($resultat)) {
echo "<OPTION VALUE='".$enr[0]."'";
if ($Evenement_choisi == $enr[0]) echo " SELECTED";
echo ">".htmlspecialchars($enr[1])."</OPTION>\n";
}
echo "</SELECT> \n";
 
// ----------------------------------------------------------------------------
// Liste Items
// ----------------------------------------------------------------------------
//echo " <B>Items</B> ";
echo " <SELECT NAME='Date_Evenement'>\n";
for ($cpt = 0; $cpt < $max_lignes; $cpt++)
echo "<OPTION>".ereg_replace(".", "--", $option_max)."</OPTION>\n";
echo "</SELECT> \n";
if (!isset($Date_Evenement)) $Date_Evenement = -1;
echo "<SCRIPT LANGUAGE='JavaScript'>\n;ModifierListe(".$Date_Evenement." );\n</SCRIPT>\n";
// ----------------------------------------------------------------------------
 
//echo "<INPUT TYPE='submit' VALUE='Valider'>\n";
 
//echo "</FORM>";
?>
</font></b></p>
<b><font color="#666666">  
<?php  
// ----------------------------------------------------------------------------
// Résultats des sélections
// ----------------------------------------------------------------------------  
 
//echo "Sélection :<BR>\n";
 
if (isset($Evenement_choisi) && $Evenement_choisi != "" ) {
$sql = "SELECT objet_agenda FROM table_agenda WHERE objet_agenda='".$Evenement_choisi."'";
$resultat = @mysql_db_query($Base, $sql);
$enr = @mysql_fetch_array($resultat);
echo "objet_agenda = $Evenement_choisi [$enr[0]]<BR>\n";
}
 
if (isset($Date_Evenement) && $Date_Evenement != "" && $Date_Evenement != -1) {
$sql = "SELECT date_agenda FROM table_agenda WHERE date_agenda='".$Date_Evenement."'";
$resultat = @mysql_db_query($Base, $sql);
$enr = @mysql_fetch_array($resultat);
echo "date_agenda = $Date_Evenement [$enr[0]]<BR>\n";
}
 
?>

Reply

Marsh Posté le 14-02-2005 à 14:46:41   

Reply

Marsh Posté le 14-02-2005 à 16:17:05    

bonjour
 
stp :
- met le code entre les bon tags afin qu'il soit plus lisible,
- j'avoue que j'ai eu la flemme de lire tout le code donc : pas besoin de mettre tout ton script, met juste les passages intéressants

Reply

Marsh Posté le 14-02-2005 à 20:15:52    

J'ai fais une tentative de lecture du code et quand j'arrive au milieu je me souviens même plus de ta question lol. Fais nous une synthése.

Reply

Marsh Posté le 15-02-2005 à 11:06:02    

<?php require_once('../Connections/conn_apb22.php'); ?>
<?php

mysql_select_db($database_conn_apb22, $conn_apb22);
$query_rs_evenement = "SELECT * FROM table_agenda WHERE saison_agenda = '2004/2005' ORDER BY ref_agenda DESC";
$rs_evenement = mysql_query($query_rs_evenement, $conn_apb22) or die(mysql_error());
$row_rs_evenement = mysql_fetch_assoc($rs_evenement);
$totalRows_rs_evenement = mysql_num_rows($rs_evenement);
?>
 
<html>
<head>
<title>Inscription</title>
<script language="JavaScript" type="text/JavaScript">
 
 
<SCRIPT LANGUAGE="JavaScript">
 
function ModifierListe(ref_agenda) {
   
  lg = document.inscription.Date_Evenement.length;
   
  // On vide la liste
  for (i = lg - 1; i >= 0; i--) {
    document.inscription.Date_Evenement.options[i] = null;
  }
     
  ref_agenda = document.inscription.Evenement_choisi.selectedIndex;
 
<?php
 
// Génération des Items par Rubriques
$sql = "SELECT ref_agenda FROM table_agenda ORDER BY ref_agenda DESC";
$resultat = mysql_db_query($Base, $sql);
 
$max_lignes = 0;
$option_max = '';
 
while ($enr = mysql_fetch_array($resultat)) {
   
  $sql  = "SELECT ref_agenda, date_agenda ";
  $sql .= "FROM table_agenda ";
  $sql .= "WHERE ref_agenda='".$enr[0]."'";
  $sql .= "ORDER BY ref_agenda desc";
  $resultat2 = mysql_db_query($Base, $sql);
 
  echo "  if (document.inscription.Evenement_choisi.options[ref_agenda].value == ".$enr[0]." ) {\n";
  echo "    document.inscription.Date_Evenement.length = ".(mysql_num_rows($resultat2)).";\n";
  $cpt = 0;
  while ($enr2 = mysql_fetch_array($resultat2)) {
    echo "    document.inscription.Date_Evenement.options[".$cpt."].value = ".$enr2[0].";\n";
    echo "    document.inscription.Date_Evenement.options[".$cpt."].text  = \"".$enr2[1]."\";\n";
    echo "    if (code_item == ".$enr2[0]." ) document.inscription.Date_Evenement.options[".$cpt."].selected = true;\n";
    $cpt++;
    if ($cpt > $max_lignes) $max_lignes = $cpt;
    if (strlen($enr2[1]) > strlen($option_max)) $option_max = $enr2[1];
  }
  echo "  }\n";
}
?>  
}  
 
</SCRIPT>
 
</head>
 
<body>

 
      <form  .../... choisissez un évènement dans la liste
 
<?php  
     
// ---------------------------------------------------------------------
// Liste Objets_agenda (Rubriques)
// --------------------------------------------------------------
$sql = "SELECT ref_agenda, objet_agenda, date_agenda FROM table_agenda ORDER BY ref_agenda DESC";
$resultat = mysql_db_query($Base, $sql);
 
echo "&nbsp;<SELECT NAME='Evenement_choisi' onChange='ModifierListe(-1)'>\n";
while ($enr = mysql_fetch_array($resultat)) {
  echo "<OPTION VALUE='".$enr[0]."'";
  if ($Evenement_choisi == $enr[0]) echo " SELECTED";
  echo ">".htmlspecialchars($enr[1])."</OPTION>\n";
}
echo "</SELECT>&nbsp;\n";
 
// ----------------------------------------------------------------
// Liste date_agenda (Items)
// ----------------------------------------------------------------
echo "&nbsp;<SELECT NAME='Date_Evenement'>\n";
for ($cpt = 0; $cpt < $max_lignes; $cpt++)
  echo "<OPTION>".ereg_replace(".", "--", $option_max)."</OPTION>\n";
echo "</SELECT>&nbsp;\n";
if (!isset($Date_Evenement)) $Date_Evenement = -1;
echo "<SCRIPT LANGUAGE='JavaScript'>\n;ModifierListe(".$Date_Evenement." );\n</SCRIPT>\n";
// ---------------------------------------------------------------------
 
 
?>
<?php
   
// ---------------------------------------------------------------------
// Résultats des sélections
// -------------------------------------------------------------------    
   
if (isset($Evenement_choisi) && $Evenement_choisi != "" ) {
  $sql = "SELECT objet_agenda FROM table_agenda WHERE objet_agenda='".$Evenement_choisi."'";
  $resultat = @mysql_db_query($Base, $sql);
  $enr = @mysql_fetch_array($resultat);
  echo "objet_agenda = $Evenement_choisi [$enr[0]]<BR>\n";
}
 
if (isset($Date_Evenement) && $Date_Evenement != "" && $Date_Evenement != -1) {
  $sql = "SELECT date_agenda FROM table_agenda WHERE date_agenda='".$Date_Evenement."'";
  $resultat = @mysql_db_query($Base, $sql);
  $enr = @mysql_fetch_array($resultat);
  echo "date_agenda = $Date_Evenement [$enr[0]]<BR>\n";
}
 
?>
           .../...      </form>      
 
 
</body>
</html>

 
<?php
mysql_free_result($rs_evenement);
?>

 

Reply

Marsh Posté le 15-02-2005 à 11:06:58    

Met nous les balises code, parce que là c'est dur :
 
http://lecastor.homeip.net/forum/code.png

Reply

Marsh Posté le 15-02-2005 à 11:18:20    

bon je la refais alors.... mais ca n'a pas l'air mieux...
 
 :pt1cable:  
 

Code :
  1. <?php require_once('../Connections/conn_apb22.php'); ?>
  2. <?php
  3. mysql_select_db($database_conn_apb22, $conn_apb22);
  4. $query_rs_evenement = "SELECT * FROM table_agenda WHERE saison_agenda = '2004/2005' ORDER BY ref_agenda DESC";
  5. $rs_evenement = mysql_query($query_rs_evenement, $conn_apb22) or die(mysql_error());
  6. $row_rs_evenement = mysql_fetch_assoc($rs_evenement);
  7. $totalRows_rs_evenement = mysql_num_rows($rs_evenement);
  8. ?>
  9. <html>
  10. <head><title>Inscription</title>
  11. <script language="JavaScript" type="text/JavaScript">
  12. <SCRIPT LANGUAGE="JavaScript">
  13. function ModifierListe(ref_agenda) {
  14.  
  15.   lg = document.inscription.Date_Evenement.length;
  16.  
  17.   // On vide la liste  
  18.   for (i = lg - 1; i >= 0; i--) {
  19.     document.inscription.Date_Evenement.options[i] = null;
  20.   }
  21.    
  22.   ref_agenda = document.inscription.Evenement_choisi.selectedIndex;
  23. <?php
  24. // Génération des Items par Rubriques  
  25. $sql = "SELECT ref_agenda FROM table_agenda ORDER BY ref_agenda DESC";
  26. $resultat = mysql_db_query($Base, $sql);
  27. $max_lignes = 0;
  28. $option_max = '';
  29. while ($enr = mysql_fetch_array($resultat)) {
  30.  
  31.   $sql  = "SELECT ref_agenda, date_agenda ";
  32.   $sql .= "FROM table_agenda ";
  33.   $sql .= "WHERE ref_agenda='".$enr[0]."'";
  34.   $sql .= "ORDER BY ref_agenda desc";
  35.   $resultat2 = mysql_db_query($Base, $sql);
  36.   echo "  if (document.inscription.Evenement_choisi.options[ref_agenda].value == ".$enr[0]." ) {\n";
  37.   echo "    document.inscription.Date_Evenement.length = ".(mysql_num_rows($resultat2)).";\n";
  38.   $cpt = 0;
  39.   while ($enr2 = mysql_fetch_array($resultat2)) {
  40.     echo "    document.inscription.Date_Evenement.options[".$cpt."].value = ".$enr2[0].";\n";
  41.     echo "    document.inscription.Date_Evenement.options[".$cpt."].text  = \"".$enr2[1]."\";\n";
  42.     echo "    if (code_item == ".$enr2[0]." ) document.inscription.Date_Evenement.options[".$cpt."].selected = true;\n";
  43.     $cpt++;
  44.     if ($cpt > $max_lignes) $max_lignes = $cpt;
  45.     if (strlen($enr2[1]) > strlen($option_max)) $option_max = $enr2[1];
  46.   }
  47.   echo "  }\n";
  48. }
  49. ?> 
  50. </SCRIPT>
  51. </head>
  52. <body>
  53.       <form  .../... choisissez un évènement dans la liste
  54. <?php 
  55.    
  56. // ---------------------------------------------------------------------  
  57. // Liste Objets_agenda (Rubriques)  
  58. // --------------------------------------------------------------  
  59. $sql = "SELECT ref_agenda, objet_agenda, date_agenda FROM table_agenda ORDER BY ref_agenda DESC";
  60. $resultat = mysql_db_query($Base, $sql);
  61. echo "&nbsp;<SELECT NAME='Evenement_choisi' onChange='ModifierListe(-1)'>\n";
  62. while ($enr = mysql_fetch_array($resultat)) {
  63.   echo "<OPTION VALUE='".$enr[0]."'";
  64.   if ($Evenement_choisi == $enr[0]) echo " SELECTED";
  65.   echo ">".htmlspecialchars($enr[1])."</OPTION>\n";
  66. }
  67. echo "</SELECT>&nbsp;\n";
  68. // ----------------------------------------------------------------  
  69. // Liste date_agenda (Items)  
  70. // ----------------------------------------------------------------  
  71. echo "&nbsp;<SELECT NAME='Date_Evenement'>\n";
  72. for ($cpt = 0; $cpt < $max_lignes; $cpt++)
  73.   echo "<OPTION>".ereg_replace(".", "--", $option_max)."</OPTION>\n";
  74. echo "</SELECT>&nbsp;\n";
  75. if (!isset($Date_Evenement)) $Date_Evenement = -1;
  76. echo "<SCRIPT LANGUAGE='JavaScript'>\n;ModifierListe(".$Date_Evenement." );\n</SCRIPT>\n";
  77. // ---------------------------------------------------------------------  
  78. ?>
  79. <?php   
  80. // ---------------------------------------------------------------------  
  81. // Résultats des sélections  
  82. // -------------------------------------------------------------------     
  83.    
  84. if (isset($Evenement_choisi) && $Evenement_choisi != "" ) {
  85.   $sql = "SELECT objet_agenda FROM table_agenda WHERE objet_agenda='".$Evenement_choisi."'";
  86.   $resultat = @mysql_db_query($Base, $sql);
  87.   $enr = @mysql_fetch_array($resultat);
  88.   echo "objet_agenda = $Evenement_choisi [$enr[0]]<BR>\n";
  89. }
  90. if (isset($Date_Evenement) && $Date_Evenement != "" && $Date_Evenement != -1) {
  91.   $sql = "SELECT date_agenda FROM table_agenda WHERE date_agenda='".$Date_Evenement."'";
  92.   $resultat = @mysql_db_query($Base, $sql);
  93.   $enr = @mysql_fetch_array($resultat);
  94.   echo "date_agenda = $Date_Evenement [$enr[0]]<BR>\n";
  95. }
  96. ?>
  97.            .../...      </form>     
  98.  
  99. </body>
  100. </html>
  101. <?php
  102. mysql_free_result($rs_evenement);
  103. ?>

Reply

Marsh Posté le 15-02-2005 à 11:19:14    

tient pas mal cette image ! je vais la mettre sur ppc...


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 15-02-2005 à 11:20:28    

KangOl a écrit :

tient pas mal cette image ! je vais la mettre sur ppc...


:jap: Oublie pas le copyright :D je l'ai compressée en PNG avec amouuur :D

Reply

Marsh Posté le 15-02-2005 à 11:23:42    

Sinon assez compliqué à piger le script. Y'a du register_globals sur on,  on dirait... Le JavaScript date d'il y a 10 ans, tout comme le code HTML :(
 
Explique-nous en détail ce que tu veux faire, et si possible balance un lien vers ta page pour tester en vrai...

Reply

Marsh Posté le 15-02-2005 à 11:37:34    

FlorentG a écrit :

Sinon assez compliqué à piger le script. Y'a du register_globals sur on,  on dirait... Le JavaScript date d'il y a 10 ans, tout comme le code HTML :(
 
Explique-nous en détail ce que tu veux faire, et si possible balance un lien vers ta page pour tester en vrai...


 
 
c'est un code que j'ai pris sur un forum. je n'y comprends pas tout car novice en JS.
 
Ce que je veux faire :
 
j'ai une BD mysql dont table_agenda (ref_agenda, date_agenda et objet_agenda)
j'ai un formulaire d'inscription qui permet d'afficher l'objet (l'évènement) et la date de celui-ci, champ de date qui se met automatiquement selon le choix de l'évènement.
Ca c'était l'objectif du script.
 
Ca marche très bien sauf que, dans le mail que je recois, j'ai la ref_agenda pour les champs "objet" et "date", donc un numéro... pas pratique.
 
 
Voilà c'est assez clair mon explication ?
 
ma page est : http://apb22.free.fr/formulaires/form_inscription.php
 
Merci...

Reply

Marsh Posté le 15-02-2005 à 11:37:34   

Reply

Marsh Posté le 15-02-2005 à 11:38:47    

FlorentG a écrit :

:jap: Oublie pas le copyright :D je l'ai compressée en PNG avec amouuur :D


http://forum.presence-pc.com/prese [...] 1356-1.htm
 
 :D


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 15-02-2005 à 11:40:14    

Reply

Marsh Posté le 15-02-2005 à 13:01:20    


superbe marque de reconnaissance :D


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 16-02-2005 à 11:17:00    

Personne ne peut me renseigner alors ?...

Reply

Sujets relatifs:

Leave a Replay

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