Ludo95
Janvier 26, 2006, 3:14
1
re salut, jai une question. Jai un stage qui peut se dérouler a plusieurs dates. Pour rentrer les données, je dois d’abord ajouter le stage et ensuite ajouter les dates une par une.
Est il possible par exemple, de demander le nombre de dates(ex:4 dates de stage), et ensuite de generer le bombre de champs pour mettre ces dates (ex:4 champs de saisies). Il faudrait ensuite ajouter ces dates dans mysql mais on ferait coment ??
Si qqn pourrait me renseigner.
merci d’avance !
Ludo95:
re salut, jai une question. Jai un stage qui peut se dérouler a plusieurs dates. Pour rentrer les données, je dois d’abord ajouter le stage et ensuite ajouter les dates une par une.
Est il possible par exemple, de demander le nombre de dates(ex:4 dates de stage), et ensuite de generer le bombre de champs pour mettre ces dates (ex:4 champs de saisies). Il faudrait ensuite ajouter ces dates dans mysql mais on ferait coment ??
Si qqn pourrait me renseigner.
merci d’avance !
bien sur qu’on peut le faire autrement la notion de dynamic ne servirait a rien.
donne un peu plus de detail et la structure de la table dans laquelle tes données doivent etre inserer.
Ludo95
Janvier 26, 2006, 3:40
3
ok!
alors voici mes tables stages et date_stage
CREATE TABLE DATE_STAGE (
idDst INT(3) NOT NULL AUTO_INCREMENT,
STAGE_ACTIVITE_idAct INT(3) NOT NULL,
datedebutDst DATE NULL,
datefinDst DATE NULL,
horaireDst TIME NULL,
PRIMARY KEY(idDst)
)
TYPE=InnoDB;
CREATE TABLE STAGE (
ACTIVITE_idAct INT(3) NOT NULL,
idStage INT(3) NOT NULL,
SALLE_idSalle INT(3) NOT NULL,
titreStage VARCHAR(50) NULL,
typeStage VARCHAR(25) NULL,
typepublicStage VARCHAR(25) NULL,
tarifmbStage FLOAT NULL,
tarifnonmbStage FLOAT NULL,
pensionStage VARCHAR(25) NULL,
hebergementStage VARCHAR(25) NULL,
contenuStage TEXT NULL,
intervenant1Stage VARCHAR(25) NULL,
intervenant2Stage VARCHAR(25) NULL,
intervenant3Stage VARCHAR(25) NULL,
PRIMARY KEY(ACTIVITE_idAct)
)
Un stage peut contenir une ou plusieurs dates, et une date ne se refere que par rapport qu’à un seul stage.
Coment je dois faire dans mon formulaire plizz
je te propose un exemple de code que je viens de faire. teste le et adapte le a ton problem
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml?quot;>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style1 {font-size: 12px}
-->
</style>
</head>
<body>
<table width="30%" border="1" align="center" cellspacing="0">
<tr>
<td bgcolor="#CCCCCC"><span class="Style1">Definir un stage </span></td>
</tr>
<tr>
<td><form action="" method="post" name="form1" class="Style1" id="form1">
Veuillez entrez le nombre de date:
<input name="nb" type="text" id="nb" size="3" maxlength="3" />
<input type="submit" name="Submit" value="Ok" />
</form> </td>
</tr>
</table><br />
<?php
if (isset($_POST['nb'])){
$nb=$_POST['nb'];
$i=0;
echo'<form id="form2" name="form2" method="post" action="">
<table width="30%" border="1" align="center" cellspacing="0">
<tr><td>Stage</td><td><input type="text" name="textfield" /></td>
</tr>';
for ($i=1; $i<=$nb; $i++){
echo ' <tr> <td>date'. $i.'</td> <td><input type="text" name="date"'.$i.' /></td></tr>';
}
echo '</table></form>';
}
?>
</body>
</html?gt;
Ludo95
Janvier 26, 2006, 4:15
5
meci bien, jvé voir maintenant pour ajouter dans sql.
Ludo95
Janvier 27, 2006, 10:03
6
salut, j’ai donc essayé et ça marche pas pour enregistrer dans sql.
Y a 3 étapes
la 1ere : ou je demande le nombre de date;
la 2eme ou je choisis ces dates :
$nb=$_POST['nb'];
$_SESSION['nb']=$nb;
$i=0;
echo'<form name="form2" method="post" action="traitement_add_date.php">
<table width="50%" border="1" align="center" cellspacing="0"></tr>';
echo"<tr><td></td><td>Date début</td><td>Date fin</td>";
for ($i=1; $i<=$nb; $i++)
{
echo ' <tr> <td>Date '. $i.'</td>';
$jourdeb="jourdeb".$i;
//echo"le jour deb est ".$jourdeb."";
echo'<td><select name="$jourdeb">';
for($j=1;$j<32;$j++)
{
echo "<option value='$j'>$j</option>";
}
echo'</select>';
$moisdeb="moisdeb".$i;
echo'<select name="$moisdeb">';
for ($n=1;$n<13;$n++)
{
echo "<option value='$n'>$n</option>";
}
echo'</select>';
$anneedeb="annee".$i;
echo'<select name="$anneedeb">';
for ($m=2005;$m<2012;$m++)
{
echo "<option value='$m'>$m</option>";
}
$jourfin="jourfin".$i;
echo'<td><select name="$jourfin">';
for($j=1;$j<32;$j++)
{
echo "<option value='$j'>$j</option>";
}
echo'</select>';
$moisfin="jourfin".$i;
echo'<select name="$moisfin">';
for ($n=1;$n<13;$n++)
{
echo "<option value='$n'>$n</option>";
}
echo'</select>';
$anneefin="anneefin".$i;
echo'<select name="$anneefin">';
for ($m=2005;$m<2012;$m++)
{
echo "<option value='$m'>$m</option>";
}
}
echo'</td> </tr>';
}
echo"<tr><td colspan=\"3\"><input type='submit' onClick='return verif()' value='Envoyez'></td></tr>";
j’enregistre le nombre dans une session pour savoir combien jai de dates a traiter.
La 3eme étape qui est l’insertion dans mysql des données
for($i=1;$i<$nb+1;$i++)
{
$jourdebut=$_POST['$jourdeb'];
$moisdebut=$_POST['$moisdeb'];
$anneedebut=$_POST['$anneedeb'];
$datedebut="".$anneedebut."-".$moisdebut."-".$jourdebut."";
echo"".$datedebut."";
$jourfin=$_POST['$jourfin'];
$moisfin=$_POST['$moisfin'];
$anneefin=$_POST['$anneefin'];
$datefin="".$anneefin."-".$moisfin."-".$jourfin."";
echo"".$datefin."";
$query="INSERT into date_stage (idDst, STAGE_ACTIVITE_idAct ,datedebutDst ,datefinDst,horaireDst )
VALUES ('','$idstage','$datedebut','$datefin','') ";
$send=mysql_query($query);
}
Il ne ù’enregistre dans la base que la derniere date que jai choisi. Et il me l’enregistre 3 fois. Qu’est ce qui va pas dans mon code?
merci davance de votre aide
ya plein d’erreur dans ton code. des erreurs syntaxique en plus. regarde au niveau de là ou tu recupére les variables de ton formulaire
//cette syntaxe n'est pas correcte
$jourdebut=$_POST['$jourdeb']; //faux
$moisdebut=$_POST['$moisdeb']; //faux
commence par enlever le dollar devant comme ceci
$jourdebut=$_POST['jourdeb'];//vrai
$moisdebut=$_POST['moisdeb'];//vrai
Ludo95
Janvier 27, 2006, 12:15
8
finalement jai changé de méthode et jai fais comme ça :
for ($i=1; $i<=$nb; $i++)
{
echo ' <tr> <td>Date '. $i.'</td>';
echo'<td><select name="jourdeb[]">';
for($j=1;$j<32;$j++)
{
echo "<option value='$j'>$j</option>";
}
echo'</select>';
echo'<select name="moisdeb[]">';
for ($n=1;$n<13;$n++)
{
echo "<option value='$n'>$n</option>";
}
echo'</select>';
echo'<select name="anneedeb[]">';
for ($m=2005;$m<2012;$m++)
{
echo "<option value='$m'>$m</option>";
}
echo'<td><select name="jourfin[]">';
for($j=1;$j<32;$j++)
{
echo "<option value='$j'>$j</option>";
}
echo'</select>';
echo'<select name="moisfin[]">';
for ($n=1;$n<13;$n++)
{
echo "<option value='$n'>$n</option>";
}
echo'</select>';
echo'<select name="anneefin[]">';
for ($m=2005;$m<2012;$m++)
{
echo "<option value='$m'>$m</option>";
}
}
echo'</td> </tr>';
}
echo"<tr><td colspan=\"3\"><input type='submit' onClick='return verif()' value='Envoyez'></td></tr>";
le problème cest que jarrive pas à recuperer les valeurs sur la 3eme page.
jfai comment svp ?
puisq tu as changé de méthode, reaffiche le code de ta 3 ieme page
Ludo95
Janvier 27, 2006, 1:01
10
je teste comme ça :
for($i=1;$i<$nb+1;$i++)
{
for($j=0; $j<$nb; ++$j){
echo 'le jour deb est '.$_POST['jourdeb'][$j].'<br/>';
echo 'le mois deb est '.$_POST['moisdeb'][$j].'<br/>';
echo 'l\'année deb est '.$_POST['anneedeb'][$j].'<br/>';
echo 'le jour fin est '.$_POST['jourfin'][$j].'<br/>';
echo 'le mois fin est '.$_POST['moisfin'][$j].'<br/>';
echo 'l\'année fin est '.$_POST['anneefin'][$j].'<br/>';
}
}
et il me dit qu’il ne connais pas jourdeb
excuse j’etais occupé. tu dis il connais pas jourdeb mais dis moi est qu’il connait le reste des variables au moins? et dis moi comment tu passes ton formulaire (Post ou Get?)