Rechercher : dans
Par :

Extraire les infos d'un calendrier php (form)

Dernière réponse le 10 oct 2007 à 19:23:31 zigues, le 30 mar 2007 à 20:20:21 
 Signaler ce message aux modérateurs

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
Configuration: Windows XP
Opera 9.00

Meilleures réponses pour « Extraire les infos d'un calendrier php (form) » dans :
PHP - Récupération de données Voir PHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
PHP - Nettoyer une chaîne de caractères VoirVoici une fonction en PHP qui peut être assez pratique, surtout quand on fait de l'URL Rewriting. Cette fonction permet de transformer les caractères de n'importe quelle chaîne de caractères en chaîne non accentuée, en enlevant les caractères...
Introduction à PHP VoirQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La...

1

 stranks, le 10 oct 2007 à 19:23:31

Merci Zigues,

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

Répondre à stranks