Cahier de notes

Objectifs

Des modules de programmation, rien que des modules.
D'abord le résultat escompté, ensuite un texte à copier.
Dans l'ordre alphabétique et accès direct par la T.M., table des matières.

Cette page est conçue pour servir de modèle de programmation des cas tordus.
Tous les exemples peuvent être copiés, en ligne, dans l'aire de texte associée.
Les feuilles de style, CSS, utilisées sont dans le dossier yvesdelehaye.
Mes choix visent plus l'efficacité que le respect des normes.

Retour

Bases de données

Clé autonumérotée

Pour connaître le numéro d'enregistrement attribué automatiquement lors d'un insert : = mysqli_insert_id();

Cohérence des jeux de caractères

Pour pouvoir mémoriser les caractères utf8mb4 de 4 octets, il est nécessaires de déclarer la bdd, les tables et les champs en interclassement utf8mb4-unicode-ci ET, très important, de le préciser dans les commandes MySQLi du PHP.
Voici un exemple.

Déconnexion

La partie traitement se termine par la fermeture de connexion avec la bdd.
Voici un exemple.

Dates

Calcul de date

Calcul d'une date par soustraction de jours d'une autre. Voici un exemple.

Clavier virtuel numérique

Saisir une date, sur asel, avec un clavier virtuel numérique.
Pour le clavier, saisir la date comme un nombre, 20220113, dans un input type number, avec pattern.
En php, insérer, ou supprimer, des - avec des substr().20220113 devient 2022-01-13, et inversement.

Feuilles de style

Les trois feuilles de styles sont regroupées, et centralisées, parmi les fichiers du domaine yvesdelehaye.eu. Elles sont liées aux pages par des balises link, de la section head, d'html. Le choix de la feuille résulte d'un test de taille d'écran.

Formulaires

Lecture seule et incapacité

Une zone de formulaire, input, peut être en lecture seule, readonly='readonly', ou en incapacité,disabled ='disabled'.
En lecture seule, la soumission renvoie la valeur pour traitement. En incapacité, pas.
Par conséquent, si une zone contient une clé, nécessaire pour la suite, elle doit être en lecture seule.

Liste de valeurs possibles

autocomplete='off' empêche l’apparition, encombrante ou inopportune, d’une liste de valeurs possibles.
Pour supprimer une valeur de la liste,
sur ordi, survoler la valeur + maj + suppr,
sur asel, toucher longuement pour faire apparaître la demande de suppression.
Sur asel, le nombre de valeurs affichées dépend de la place disponible. Une suppression peut permettre l'apparition d'une valeur omise précédemment.

html

Liens

html est le langage de programmation qui concrétise l'hyper-texte, quelques mots qui déclenchent une explosion visuelle et auditive. Il est d'une simplicité enfantine. Un petit dessin valant mieux qu'une longue explication, je vais afficher la photo du capitaine Haddock, et oui j'ai cet âge là, avec le texte «Mille sabords».

images/haddock1.jpg Mille sabords.

Et voici le programme qui provoque cet affichage :

Pas besoin de dessiner le capitaine. L'adresse de l'image suffit. Il s'agit d'un lien. Il en existe plusieurs types, images, sons, animations, bases de données, ... Les liens sont un atout majeur d'html.

Icône

L'icône de l'onglet du navigateur, ou du raccourci de l'écran d'accueil de l'asel, est commandée par un lien. L'image doit avoir une taille suffisante, 426x426 pa fonctionne dans les 2 cas.

Liens externes

La balise <a> permet d'ouvrir une autre page, ou de se déplacer au sein d'une page, d'une id à l'autre.

Le lien peut conduire, aussi, vers un nouvel onglet, target.

Images

Particularités de la balise img

L'image est un tout, enluminures, padding, border et margin, comprises.
L'ensemble constitue une espèce d'énorme caractère, aligné avec le texte éventuel.
Pour neutraliser la marge basse, de 4 px, imposée par Chrome, j'ai mis img {margin-bottom:-4px;} dans styles_ordi.css.

Voici un exemple d'image affichée en ligne images/haddock1.jpg et alignée sur le bas du texte.


Images sans légende et centrées

Pour centrer une image, il suffit de l'imbriquer dans une div de classe imag_cent. La particularité de la classe imag_cent est text-align:center.
L'image est traitée comme un énorme caractère centré.

images/haddock1.jpg

Autre exemple avec 5 img imbriquées dans une div imag_cent. 5 caractères alignés et centrés. Pour obtenir ce résultat, il suffit de placer 5 balises img, au lieu d'une seule.

coup_droit_rf_01.png coup_droit_rf_02.png coup_droit_rf_03.png coup_droit_rf_04.png coup_droit_rf_05.png

Image commentée

Affichée en bloc

bloc sans enluminure, div class='imag_comm', contenant l'image et sa légende.
class='text_lege' définit une taille de caractère plus petite et un texte centré.

coup_droit_rf_01.png

Coup droit


Affichée dans une ligne

div traitée comme une img grâce à style='display:inline-block;'.

Voici le début de la ligne de texte

coup_droit_rf_01.png

Coup droit

et voici la fin de la lignede texte

Par défaut, le navigateur clôture un bloc lorsqu'il rencontre le début d'un autre, /p généré avant div. Chaque partie doit donc être définie «inline-block».




Alignées et centrées

Première méthode : avec display:inline-block;.



coup_droit_rf_01.png

Preuve de

coup_droit_rf_03.png

l'alignement par le bas


Seconde méthode : avec float:left;.
Ma préférée, elle permet d'entourer les blocs avec du texte.

Avant,

pendant,

après ;-)


J'impose la même hauteur aux trois photos, 300 px. Le navigateur calcule les largeurs.

Deux paramètres, largeur et hauteur, un nombre de photos > 1, un petit calcul de la largeur de la division principale, pour le centrage.

Légendée et flottant à gauche

/images/haddock3.jpg

Je flotte à gauche

Il ne faut pas oublier d'interrompre le flottement par une balise <hr>.

Tintin au Tibet est le vingtième album de la série de bande dessinée Les Aventures de Tintin, créée par le dessinateur belge Hergé. L'histoire est d'abord pré-publiée du 17 septembre 1958 au 25 novembre 1959 dans les pages du journal Tintin, avant d'être éditée en album de soixante-deux planches aux éditions Casterman. Il est généralement considéré comme l'album le plus personnel d'Hergé, qui, de son propre aveu, le jugeait comme son travail le plus réussi. S'il évoque l'Himalaya et ses dangers, les traditions tibétaines en matière de religion ou l'existence du yéti, Tintin au Tibet est avant tout marqué par une dimension philosophique et spirituelle inégalée dans la série. Album apolitique, il est aussi la première aventure de Tintin dans laquelle les armes à feu sont absentes. Habitué aux enquêtes policières, le héros est cette fois plongé dans une aventure désespérée qui prend des allures de quête du Bien.





/images/haddock3.jpg

Je flotte à gauche

/images/haddock3.jpg

Je flotte à gauche

En mettant plusieurs images flottantes à la suite, il est possible d'obtenir un alignement, et de caler du texte, ce qui est impossible avec inline-block.

Tintin au Tibet est le vingtième album de la série de bande dessinée Les Aventures de Tintin, créée par le dessinateur belge Hergé. L'histoire est d'abord pré-publiée du 17 septembre 1958 au 25 novembre 1959 dans les pages du journal Tintin, avant d'être éditée en album de soixante-deux planches aux éditions Casterman. Il est généralement considéré comme l'album le plus personnel d'Hergé, qui, de son propre aveu, le jugeait comme son travail le plus réussi. S'il évoque l'Himalaya et ses dangers, les traditions tibétaines en matière de religion ou l'existence du yéti, Tintin au Tibet est avant tout marqué par une dimension philosophique et spirituelle inégalée dans la série. Album apolitique, il est aussi la première aventure de Tintin dans laquelle les armes à feu sont absentes. Habitué aux enquêtes policières, le héros est cette fois plongé dans une aventure désespérée qui prend des allures de quête du Bien.


Javascript

%+remplace les espaces par %+%



Mail

Il s'agit ici de la fonction mail() de php. Elle permet à un programme en php d'envoyer des courriels. Pour éviter les problèmes de ce genre : «Mà j de Delehaye enregistrée par ...» et pour améliorer la mise en page, il est utile d'envoyer des courriels rédigés en HTML.

Pour éviter des rejets, l'adresse de courriel From: doit être, au moins, réaliste.

Textes

Colonnes

Voici un exemple d'affichage du contenu réparti en 3 colonnes.

- Cinématographe.
- Électricité.
- Français.
- Golf.
- Humanité.
- Informatique.
- Jardinage.
- Georges Méliès.
- Pensées.
- Photovoltaïque wallonne.
- Recherches.
- Santé.
- Tennis.
- Tests libres.
- Vin.

Commentaire

Voici la présentation que je choisis pour mes commentaires, chics et discrets.

test de commentaire.

Remplacement de caractère

Le str_replace résout le problème de l'apostrophe. Présente dans un input text, elle fait perdre tout ce qui suit. Dans un textarea, elle plante la mise à jour. Je remplace ' (apostrophe droite, informatique) par ’ (apostrophe courbe, typographique).
var1 = str_replace('\'','’',var2);

Tableau

Prénom Nom Sexe Naissance Cla. Courriel Tél.
François BAIVIER M 24/04/52 C30.2 francois.baivier@skynet.be 0475 93 86 24

Variables multidimensionnelles

La variable multidimensionnelle est parfaite pour traiter des contenus de tableaux, avec un nombre quelconque de lignes, et de colonnes.
Dans l'exemple suivant, le contenu d'une table des aliments est affiché dans un formulaire afin de permettre de préciser les quantités ingurgitées.
Lorsque je touche le bouton creer, chaque aliment accompagné d'une quantité donne lieu à la création d'un enregistrement dans la table des repas.
Je ne reprends ici que le code relatif aux 2 variables multidimensionnelles.



Dans cette première partie, j'alimente la variable r_repa avec les valeurs de la table, nom d'aliment, colonne 0, points, colonne 1 et je prévois la colonne 2 pour saisir la quantité.
La création de cette variable ne nécessite aucune préparation. La seule présence des coordonnées, entre crochets, suffit.
Attention, on commence par zéro.



Dans cette seconde partie, je copie, très simplement, une variable multidim dans une autre.
Je compte les lignes, en prévision d'une boucle for.
J'utilise les colonnes de la ligne en cours.

T.M.

Haut


L'homme ne peut que garder les pieds sur Terre. Malheur à lui si Terre ne le supporte plus !