Extraire les infos d'un calendrier php (form)

Fermé
zigues Messages postés 14 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 11 avril 2011 - 30 mars 2007 à 20:20
 stranks - 10 oct. 2007 à 19:23
Bonjour à tous.

J'ai besoin de quelques conseils pour récupérer les données d'un formulaire, contenu dans un calendrier, afin de mettre à jour une base de donnée.

Je m'explique.
J'ai récupéré un code sur internet permettant d'afficher un calendrier de disponibilité pour un gîte, avec une page d'admin où l'on peut mettre à jour les dates de location disponibles ou non.

Le problème de ce code, c'est qu'il fallait faire la mise à jour, jour par jour ... avec un fichier php pour chaque situation : libre, occupé ...

Je veux donc le modifier pour que l'on puisse occuper/libérer plusieurs dates en même temps, grâce aux checkbox d'un formulaire ...

Voici le morceau de code :
<FORM METHOD=POST ACTION="majform.php" name="majcalendar">
<table align="center" width="420" border="1" cellpadding="5" cellspacing="0"  class="tab_numero" bgcolor="#E0D1B2">
	<tr align="center">
<?
//Détection du 1er et dernier jour du moiS
$nombre_date = mktime(0,0,0, $mois, 1, $an);
$premier_jour = date('w', $nombre_date);
$dernier_jour = 28;
while (checkdate($mois, $dernier_jour + 1, $an))
	{ $dernier_jour++;}

//Affichage de 7 jours du calendrier



for ($i = 0; $i < 7; $i++){
	if ($i < $premier_jour){ 
		echo '<td width="60"></td>';
	}else{
		$ce_jour = ($i+1) - $premier_jour;
		// si c'est un jour reserve on applique le style reserve
		if($tab_jours[$ce_jour]){
			$checked= '1';
			
			
  			echo '<td width="60" class="reserve">';
 			echo $ce_jour;
			echo '<br />';
			// conversion de la en aaaa-mm-jj (cf fonctions.php)
 			$date = ajout_zero($ce_jour, $mois, $an);
			// on supprime le jour correspondant via la page recuperation_enlever.php
 			echo '<input type="checkbox"';
			if ($checked == 1){ echo 'checked="checked"';};
			echo 'name='.$date.'>';
 			echo '</a>';
 			echo '</td>';					
		// sinon on ne met pas de style
		}else{
			$checked= '0';
			echo '<td width="60" class="libre">';
			echo $ce_jour;
			echo '<br />';
			// cf fonctions.php
			$date = ajout_zero($ce_jour, $mois, $an);
			// on ajoute le jour correspondant via la page recuperation_ajouter.php
			echo '<input type="checkbox"';
			if ($checked == 1){ echo 'checked="checked"';};
			echo 'name='.$date.'>';
			echo '</a>';
			echo '</td>';
		}

	}
}
//affichage du reste du calendrier
$jour_suiv = ($i+1) - $premier_jour;
for ($rangee = 0; $rangee <= 4; $rangee++){
		echo '</tr>';
		echo '<tr align="center" class="numero">';
		for ($i = 0; $i < 7; $i++){
			if($jour_suiv > $dernier_jour){ 
				echo '<td width="60">';
				echo '</td>';
			}else{
				// si c'est un jour reserve on applique le style reserve
				if($tab_jours[$jour_suiv]){
					$checked= '1';
					echo '<td width="60" class="reserve">';
					echo $jour_suiv;
					echo '<br />';
					$date = ajout_zero($jour_suiv, $mois, $an);
					echo '<input type="checkbox"';
					if ($checked == 1){ echo 'checked="checked"';};
					echo 'name='.$date.'>';
					echo '</a>';
					echo '</td>';					
				// sinon on ne met pas de style
				}else{
					$checked= '0';
					echo '<td width="60" class="libre">';
					echo $jour_suiv;
					echo '<br />';
					$date = ajout_zero($jour_suiv, $mois, $an);
					echo '<input type="checkbox"';
					if ($checked == 1){ echo 'checked="checked"';};
					echo 'name='.$date.'>';
					echo '</a>';
					echo '</td>';
				}
			}
			$jour_suiv++;
		}
}

?>


</table>
<table align="center" width="420" height="87" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td height="30" align="center" colspan="2"><input type="submit" value="Modifier le calendrier"><br></td>
  </tr>
  <tr>
    <td height="30" align="center" colspan="2"><input type="reset" value="Annuler les changements"><br><br></td>
  </tr>
  <tr>


Le problème, c'est que dans le cas présent, tous les 'input type="checkbox" ' s'appelle $date, donc une date différente, et non un nom fixe ... C'est là où je sèche ...

Sachant que seules les dates occupés sont ajoutées dans la base de donnée, comment puis-je faire pour que le fichier vers lequel je vais poster le formulaire, analyse les 31 dates du mois, détecte si la date est déjà présente ou non dans la base, et en fonction de ça, l'ajoute ou la supprime ...

D'avance, un grand merci,

Zigues
A voir également:

1 réponse

Merci Zigues,

gg le code lol j' avai carrement pas pensé de me servir de mon calandrier de reservation !
0