// 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) for ($i = 0; $i < count($arrayTypeChambre); $i++) { $unTypeChambre = $arrayTypeChambre[$i]; $idTypeChambre = $unTypeChambre->getId(); $libelle = $unTypeChambre->getLibelle(); 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]) || !OffreDAO::estModifOffreCorrecte($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 = OffreDAO::obtenirNbOffre($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>"; } // 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 // nombre de types de chambres) sont nécessaires àcOffreHebergement.php donc // on les transmet en champs cachés echo "\n <input type='hidden' value='{$idEtab}' name='idEtab'> \n <input type='hidden' value='{$i}' name='nbLignes'>\n \n <table align='center' cellspacing='15' cellpadding='0'>\n <tr>\n <td align='right'><input type='submit' value='Valider' \n name='validerModifierOffre'></td>\n <td align='left'><input type='reset' value='Annuler' name='annuler'>\n </td>\n </tr>\n </table>\n <a href='cOffreHebergement.php?'>Retour</a>\n</form>"; include "_fin.inc.php";
$idTypeChambre = $_REQUEST['idTypeChambre']; $nbChambres = $_REQUEST['nbChambres']; $nbLignes = $_REQUEST['nbLignes']; $arrayEtab = EtabDAO::getAll(); $nbEtab = OffreDAO::obtenirNbEtab(); $arrayTypeChambre = TypeChambreDAO::getAll(); $nbTypesChambres = OffreDAO::obtenirNbTypesChambres(); $lgEtab = OffreDAO::obtenirDetailEtablissement($idEtab); $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 = OffreDAO::estModifOffreCorrecte($idEtab, $idTypeChambre[$i], $nbChambres[$i]); if (!$entier || !$modifCorrecte) { $err = true; } else { OffreDAO::modifierOffreHebergement($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 $connexion = null;
public static function estModifOffreCorrecte($idEtab, $idTypeChambre, $nombreChambres) { $nbOccup = OffreDAO::obtenirNbOccup($idEtab, $idTypeChambre); return $nombreChambres >= $nbOccup; }