listes dynamiques + formulaire + mysql - PHP - Programmation
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
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.
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 " <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> \n";
// ----------------------------------------------------------------
// Liste date_agenda (Items)
// ----------------------------------------------------------------
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";
// ---------------------------------------------------------------------
?>
<?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);
?>
Marsh Posté le 15-02-2005 à 11:18:20
bon je la refais alors.... mais ca n'a pas l'air mieux...
Code :
|
Marsh Posté le 15-02-2005 à 11:19:14
tient pas mal cette image ! je vais la mettre sur ppc...
Marsh Posté le 15-02-2005 à 11:20:28
KangOl a écrit : tient pas mal cette image ! je vais la mettre sur ppc... |
Oublie pas le copyright je l'ai compressée en PNG avec amouuur
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...
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 |
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...
Marsh Posté le 15-02-2005 à 11:38:47
FlorentG a écrit : Oublie pas le copyright je l'ai compressée en PNG avec amouuur |
http://forum.presence-pc.com/prese [...] 1356-1.htm
Marsh Posté le 15-02-2005 à 11:40:14
ReplyMarsh Posté le 15-02-2005 à 13:01:20
superbe marque de reconnaissance
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";
}
?>