Cours12‐ PublicationWeb 25novembre2016
SCI6306(A2016)/ChristineDufour(EBSI,
UdeM) 4
SCI6306 10 /19
POUR (boucle avec répétitions connues)
Fonctionnement
Exécute un bloc d'instructions de manière répétitive, à l'intérieur d'une
boucle allant d'une valeur de départ à une valeur de fin.
Structure générique (PHP)
FOR (valeur de départ; valeur de fin; valeur de
l'incrémentation)
{Bloc d'instructions à exécuter}
Exemple
Autre manière pour passer à travers l’ensemble des enregistrements
dans une table de résultats retournés par une requête SQL lorsque l'on
connait le nombre de lignes que l'on veut.
25 novembre 2016
Structures algorithmiques de base
Exemple : http://dufour.ebsi.umontreal.ca/algo/repetition.php
Page PHP : http://cours.ebsi.umontreal.ca/sci6306/docs/sci6306_c12_repetition.pdf
SCI6306 11 /19
Code PHP pour publier : processus [1/5]
Étape 1 (BLOCS 1, 2, 3)
Préparer la requête SQL
(visualiser la table de
résultats)
Étape 2 (BLOC 4)
Préparer le code HTML pour
afficher une ligne de la table
des résultats
Étape 3 (BLOC 4)
Identifier les éléments HTML
qui se répéteront pour chaque
ligne de la table des résultats
Étape 4 (BLOCS 4, 5, 6)
Insérer le code PHP
(acétates suivantes)
25 novembre 2016
Mais pourquoi ???
Rappel : une table de résultats est lue
de manière linéaire, ligne par ligne!
PRENOM NOM
Jean Peupu
Hop Lavie
Table de résultats
Traitement de la
table de résultats
Jean Peupu
1. Ligne 1 •Répondant : Jean Peupu
Hop Lavie
2. Ligne 2 •Répondant : Hop Lavie
Page Web résultante
Voici la liste des répondants :
SCI6306 12 /19
1. Code PHP pour la ligne de résultat générique
2. Code PHP pour la boucle
3. Code PHP pour l'ensemble des blocs
DÉBUT BOUCLE
<p>Le cours statut <strong>no_cours titre</strong> se donne le jour
e
jour
de la semaine, à heure heure.</p>
FIN BOUCLE
Forme spécifique (pour la première ligne)
<p>Le cours optionnel <strong>20001 Histoire 101</strong> se donne le 1
e
jour
de la semaine, à 09:00:00 heure.</p>
Forme générique (pour toutes les lignes; italique = données dynamiques)
<p>Le cours statut <strong>no_cours titre</strong> se donne le jour
e
jour de la
semaine, à heure heure.</p>
SELECT no_cours, titre,
jour, heure, statut FROM
cours ORDER BY no_cours;
Code PHP pour publier : processus [2/5]
Étape 1 (BLOCS 1, 2, 3)
Préparer la requête SQL
(visualiser la table de
résultats)
Étape 2 (BLOC 4)
Préparer le code HTML pour
afficher une ligne de la table
des résultats
Étape 3 (BLOC 4)
Identifier les éléments HTML
qui se répéteront pour chaque
ligne de la table des résultats
Étape 4 (BLOCS 4, 5, 6)
Insérer le code PHP
(acétates suivantes)
Étape 2 : Code PHP
Exemple (INSCRIP) : je veux faire afficher pour chacun
des cours, dans un paragraphe, son horaire et son statut :
NO_
COURS
TITRE JOUR HEURE STATUT
20001 Histoire 101 1 09:00:00 optionnel
20002 Éthique 302 1 13:00:00 obligatoire
25 novembre 2016
Le cours optionnel 2001 Histoire 101 se donne
le 1
e
jour de la semaine, à 09:00:00 heure.