Soit la base de données "emd1920" accessible via l'adresse FTP @adresse avec le nom d'utilisateur "U" et le mot de passe "PW". L'onglet Concepteur de la page Administration MySQL du serveur donne le schéma relationnel suivant :
Les enregistrements contenus dans chaque table sont : | |
Table1 |
Table3 Table4 |
Table2 |
Donner le script creer.php qui permet de créer la base de données, de créer les tables et d'y ajouter les enregistrements ci-dessus.
Etant donné le formulaire (intervalle.html) ci-dessous :
Donner le code source de ce formulaire.
Solution:
Bien que le code source de ce formulaire n'est pas aussi simple qu'il le parait, toute "bonne" solution indiquant qu'il faut passer les deux valeurs val1 et val2 comme paramètres dans le lien de redirection est acceptée.
Donner les scripts affiche1.php et affiche2.php correspondant respectivement aux deux liens du formulaire, sachant qu'à l'exécution, on obtient les résultats suivants :
affiche1.php Solution | affiche2.php Solution |
---|---|
On a remarqué que la taille de la table Table3 augmente rapidemment dans le temps. Par conséquent, on désire réaliser des sauvegardes périodiques dans des fichiers texte d'une manière optimale (c-à-d sans recopier les enregistrements déjà sauvegardés).
a- Quelle est la structure du fichier texte choisie ?
Une solution:
b- Donner le script PHP de sauvegarde.
Solution:
Dans ce script, on parcours les enregistrements de la table jusqu'à $N. A partir de cette position, on commence la sauvegarde des enregistrements de la table dans le fichier texte.
c- La clause [RANGE x1,x2] dans une requête SQL signifie qu'on désire obtenir uniquement les enregistrements de numéros compris entre x1 et x2. Expliquer comment améliorer votre script ci-dessus en utilisant cette clause.
Solution:
Si on pose $L= <n'importe quelle valeur potentiellement grande>, alors la clause [Range $N,$L] permet d'avoir les nouveaux enregistrements qu'il faut sauvegarder (dans un même fichier texte utilisé lors de la dernière sauvegarde ou indépendant...).