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
Exemplo n.º 3
0
    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