Mammouth du PHP |
1029 Messages
07 nov. 2005, 11:26
J'approche du but.
Voila j'ai bien tous ce qu'il me faut avec le code suivant.
J'arrive à générer mon menu déroulant avec les champs correspondant et il insère dans la base de données les bons éléments grâce à une fonction créer dans PostgreSQL, et le problème de tableaux régler dans un autre post.
Voici le code
<?php
session_start();
include("Base/pgConnect.php");
//include("Passwd/PasswdAnnuaire.php");
if ($_POST['DateAnnee']) {
$_SESSION['DateMois'] = $_POST['DateMois'];
$_SESSION['DateAnnee'] = $_POST['DateAnnee'];
$_SESSION['DatePlus'] = $_SESSION['DateMois'] + 1;
}
if ($_POST['Heure']) {
$heure = isset($_POST['Heure']) ? $_POST['Heure'] : null;
$date1 = isset($_POST['Date1']) ? $_POST['Date1'] : null;
if(isset($heure))
{
//parcours du 1er tableau en mettant les index dans $index et les valeurs
// dans $valeur
foreach ($_POST['Date1'] as $index=>$value) {
//Récupération de la valeur du tableau 2 dont l'index est celui du tableau 1
$value2 = $_POST['Heure'][$index];
//Construction de la requete de mise à jour ou de update function créer grâce au langage pl/pgsql
$sql = "SELECT insertupdate($value2,'".$value."',$_SESSION[idformateur],$_POST[Nom]);";
pg_query($Connect,$sql) or die ('Erreur dans le shéma');
//insertion ou modification du registre
}
echo "<p>Insertion dans le registre OK</p>";
echo "<meta http-equiv=\"refresh\" content=\"2;url=index.php?section=Registre\" />";
}
}
else {
echo "<p>Bonjour <b>".strtoupper($_SESSION['UserName'])."</B> bienvenu(e) dans le registre pour le mois de " .$_SESSION['DateMois']." de l'année ".$_SESSION['DateAnnee']."<p>";
/**fonction définnissant le mois choissi par le menuregistre.php */
$num = cal_days_in_month(CAL_JULIAN, date($_SESSION['DateMois']), date($_SESSION['DateAnnee']));
?>
<form id="form_1" action="index.php?section=Registre" method="POST">
<table border="1">
<tr>
<td rowspan="2">
<select name="Nom" >
<?php
/** fonction créant le menu déroulant des personne inscrite dans l'association*/
$sql = "SELECT idparticipant,parnom, parprenom FROM participant ORDER BY parnom ASC ";
$result = pg_query($Connect, $sql);
while ($row = pg_fetch_array($result))
{
$id = $row["idparticipant"];
$valeur = $row["parnom"] ." ". $row["parprenom"];
?>
<option value="<?php echo($id); ?>"><?php echo($valeur); ?></option>
<?php
}
?>
</select>
</td>
<?php
/**ici on crée autant de cases que dans la mois numeroter de 1 à la fin du mois*/
$i=1;
for($s = 0; $s < $num; $s++)
{
?>
<td><?php echo($i); ?></td>
<?php
$i++;
}
?>
</tr>
<tr>
<?php
/**ici on crée le même nombres de case mais avec récupération des valeurs inscrite dans la base de données
et on crée un champs caché avec les dates du mois*/
$recupsql = "SELECT * FROM registre WHERE regjour >='$_SESSION[DateAnnee]-$_SESSION[DateMois]-01' AND regjour <'$_SESSION[DateAnnee]-$_SESSION[DatePlus]-01'
AND registre.idparticipant=$id
AND registre.idlogin = 1";
$soluce = pg_query($recupsql);
$row = pg_numrows($soluce);
if ($row!=0) {
while ($row =pg_fetch_array($soluce)){
echo "<td><input maxlength=\"1\" size=\"1\" name=\"Heure[]\" value=\"$row[regheure]\"></td>";
}
}
else {
for ($v = 1; $v < $num+1; $v++)
{
?>
<td><input maxlength="1" size="1" name="Heure[]" value="0"></td>
<?php
}
}
?>
</tr>
</table>
<?PHP
for ($v = 1; $v < $num+1; $v++)
{
?>
<INPUT type="hidden" id="date1" name="Date1[]" value="<?php echo (date($_SESSION['DateAnnee'].'-'.$_SESSION['DateMois']).'-'.$v)?> ">
<?PHP
}
?>
<input type="submit" name="envoi" value="Enregistrer" />
</form>
<?php
}
?>
Maintenant j'aurais besoin d'un peu d'aide concernant javascript, afin de récupérer les données déja insérer dans la base de données quand je choisit un participant dans le menu déroulant, il faudrais récupérer tous par rapport a ce bout de code
<?php
/** fonction créant le menu déroulant des personne inscrite dans l'association*/
$sql = "SELECT idparticipant,parnom, parprenom FROM participant ORDER BY parnom ASC ";
$result = pg_query($Connect, $sql);
while ($row = pg_fetch_array($result))
{
$id = $row["idparticipant"];
$valeur = $row["parnom"] ." ". $row["parprenom"];
?>
<option value="<?php echo($id); ?>"><?php echo($valeur); ?></option>
<?php
}
?>
</select>
</td>
<?php
/**ici on crée autant de cases que dans la mois numeroter de 1 à la fin du mois*/
$i=1;
for($s = 0; $s < $num; $s++)
{
?>
<td><?php echo($i); ?></td>
<?php
$i++;
}
?>
</tr>
<tr>
<?php
/**ici on crée le même nombres de case mais avec récupération des valeurs inscrite dans la base de données
et on crée un champs caché avec les dates du mois*/
$recupsql = "SELECT * FROM registre WHERE regjour >='$_SESSION[DateAnnee]-$_SESSION[DateMois]-01' AND regjour <'$_SESSION[DateAnnee]-$_SESSION[DatePlus]-01'
AND registre.idparticipant=$id
AND registre.idlogin = 1";
$soluce = pg_query($recupsql);
$row = pg_numrows($soluce);
if ($row!=0) {
while ($row =pg_fetch_array($soluce)){
echo "<td><input maxlength=\"1\" size=\"1\" name=\"Heure[]\" value=\"$row[regheure]\"></td>";
}
}
else {
for ($v = 1; $v < $num+1; $v++)
{
?>
Merci
L'expérience est la somme de toutes nos erreurs.