function verifierDonneesEtabM($connexion, $id, $nom, $adresseRue, $codePostal, $ville, $tel, $nomResponsable, $nombreChambresOffertes) { if ($nom == "" || $adresseRue == "" || $codePostal == "" || $ville == "" || $tel == "" || $nomResponsable == "" || $nombreChambresOffertes == "") { ajouterErreur("Chaque champ suivi du caractère * est obligatoire"); } if ($nom != "" && estUnNomEtablissement($connexion, 'M', $id, $nom)) { ajouterErreur("L'établissement {$nom} existe déjà"); } if ($codePostal != "" && !estUnCp($codePostal)) { ajouterErreur("Le code postal doit comporter 5 chiffres"); } if ($nombreChambresOffertes != "" && (!estEntier($nombreChambresOffertes) || !estModifOffreCorrecte($connexion, $id, $nombreChambresOffertes))) { ajouterErreur("La valeur de l'offre est non entière ou inférieure aux attributions effectuées"); } }
// AFFICHAGE DE LA LIGNE D'EN-TÊTE echo "\n <tr class='enTeteTabQuad'>\n <td width='30%'>Type</td>\n <td width='37%'>Capacité</td>\n <td width='33%'>Nombre de chambres</td> \n </tr>"; $rsTypeChambre = obtenirTypesChambres($connexion); // BOUCLE SUR LES TYPES DE CHAMBRES (AFFICHAGE D'UNE LIGNE PAR TYPE DE // CHAMBRE AVEC EN 3ÈME COLONNE LE NOMBRE DE CHAMBRES OFFERTES DANS // L'ÉTABLISSEMENT POUR LE TYPE DE CHAMBRE OU LA VALEUR EN ERREUR LE CAS // ÉCHÉANT) while ($lgTypeChambre = $rsTypeChambre->fetch(PDO::FETCH_ASSOC)) { $idTypeChambre = $lgTypeChambre['id']; $libelle = $lgTypeChambre['libelle']; echo "\n <tr class='ligneTabQuad'>\n <td>{$idTypeChambre}</td>\n <td>{$libelle}</td>"; // AFFICHAGE DE LA CELLULE NOMBRE DE CHAMBRES OFFERTES // Si on "vient" de ce formulaire (action 'validerModifierOffre') et // que le nombre de chambres pour le type en question est en erreur, // ce nombre est affiché en erreur if ($action == 'validerModifierOffre' && (!estEntier($nbChambres[$i]) || !estModifOffreCorrecte($connexion, $idEtab, $idTypeChambre, $nbChambres[$i]))) { echo "\n <td align='center'><input type='text' value='{$nbChambres[$i]}' \n name='nbChambres[{$i}]' maxlength='3' class='erreur'></td>"; } else { // Appel à la fonction obtenirNbOffre pour récupérer le nombre // de chambres offertes $nbOffre = obtenirNbOffre($connexion, $idEtab, $idTypeChambre); echo "\n <td align='center'><input type='text' value='{$nbOffre}' \n name='nbChambres[{$i}]' maxlength='3'></td>"; } // Le tableau des différents $idTypeChambre est nécessaire à // cOffreHebergement.php donc on le transmet en champs cachés echo "\n <input type='hidden' value='{$idTypeChambre}' \n name='idTypeChambre[{$i}]'>\n </tr>"; $i = $i + 1; } // Fin de la boucle sur les types de chambres echo "</table>"; // La variable $idEtab et le nombre de lignes du tableau (qui est en fait le
case 'demanderModifierOffre': $idEtab = $_REQUEST['idEtab']; include "vues/OffreHebergement/vModifierOffreHebergement.php"; break; case 'validerModifierOffre': $idEtab = $_REQUEST['idEtab']; $idTypeChambre = $_REQUEST['idTypeChambre']; $nbChambres = $_REQUEST['nbChambres']; $nbLignes = $_REQUEST['nbLignes']; $err = false; for ($i = 0; $i < $nbLignes; $i = $i + 1) { // Si la valeur saisie n'est pas numérique ou est inférieure aux // attributions déjà effectuées pour cet établissement et ce type de // chambre, la modification n'est pas effectuée $entier = estEntier($nbChambres[$i]); $modifCorrecte = estModifOffreCorrecte($connexion, $idEtab, $idTypeChambre[$i], $nbChambres[$i]); if (!$entier || !$modifCorrecte) { $err = true; } else { modifierOffreHebergement($connexion, $idEtab, $idTypeChambre[$i], $nbChambres[$i]); } } if ($err) { ajouterErreur("Valeurs non entières ou inférieures aux attributions effectuées"); include "vues/OffreHebergement/vModifierOffreHebergement.php"; } else { include "vues/OffreHebergement/vConsulterOffreHebergement.php"; } break; } // Fermeture de la connexion au serveur MySql