200 likes | 322 Views
L3 Module Libre. Année universitaire 2005-2006. Initiation à la Bioinformatique. Jean-Michel RICHER. Troisième Cours. Le Langage PHP Application au traitement des données. Plan. Rappel Le Langage PHP Utiliser PHP pour attaquer MySQL PHP et les pages Web.
E N D
L3 Module Libre Année universitaire 2005-2006 Initiation à la Bioinformatique Jean-Michel RICHER
Troisième Cours Le Langage PHP Application au traitement des données
Plan • Rappel • Le Langage PHP • Utiliser PHP pour attaquer MySQL • PHP et les pages Web
Rappels du cours précédent • Les SGBD (Systèmes de Gestion de Bases de Données) permettent d’organiser le stockage d’informations. • Le langage SQL (Structured Query Language) permet d’interroger les bases de données relationnelles : • SELECT cl_nom, cl_prenom • FROM clients • WHERE cl_ville = “Angers“; • Les données sont récupérées sous forme de tables • (n lignes * m colonnes)
Langages de script • Un certain nombre de traitements ne peuvent pas être réalisés en SQL (ex. afficher les commandes) • Pour pouvoir les réaliser il faut faire appel à un langage (autre que SQL) qui est capable d’interagir avec un SGBD • Parmi les langages susceptibles d’être utilisés on trouve : • Perl • Python • PHP • Il s’agit de langages de script (interprétés)
Le Langage PHP Les bases du langage
Le langage PHP • 1994 Rasmus Lerdorf • pour les besoins des pages web personnelles • signifiait Personal Home Page • 1997 réécrit par Zeev Suraski et Andi Gutmans pour donner PHP3 • PHP : Hypertext Preprocessor • Avantages de PHP • Il s’intègre facilement aux pages web • gratuit (Open Source) • syntaxe empruntée au langage C et à Perl • nombreuses bibliothèques de fonctionnalités (BD, dessin, réseau)
Le langage PHP • PHP peut être utilisé de deux manières différentes : • soit comme un langage de programmation traditionnel (en ligne de commande) • soit intégré dans une page web Exemple de programme PHP Fichier bonjour.php >php bonjour.php Bonjour <?php echo “Bonjour“; ?>
Les variables sont toutes préfixées par le symbole $ <?php $annee = 1970; $nom = “Jean-Michel“; echo “Bonjour, je m’appelle $nom\n“; echo “je suis né en $annee\n”; ?> Les variables \n : retour à la ligne • Les variables non sont pas typées en PHP <?php $valeur = 1; $valeur = “Coucou“; ?> Une variable peut prendre n’importe quelle valeur (entier, réel, chaîne, tableau)
Les instructions de base Le test conditionnel : if (condition) { … } else { … } If ($valeur > 1) { echo “la valeur est supérieure à 1“; } If ($valeur < 1) { echo “la valeur est inférieure à 1“; } If ($valeur == 1) { echo “la valeur est égale à 1“; } If ($valeur != 1) { echo “la valeur est différente de 1“; } If ($valeur == 1) { echo “la valeur est égale à 1“; } else { echo “la valeur est différente de 1“; }
Les instructions de base La boucle tant que : while (condition) { instructions } $i = 1; $somme = 0; while ($i <= 10) { $somme = $somme + $i; $i = $i + 1; } echo “Somme des entiers de 1 à 10 = $somme “;
Les instructions de base La boucle pour : for (initialisation ; condition d’arrêt; incrémentation) { .. } $somme = 0; for ($i = 1; $i <= 10; $i = $i + 1) { $somme = $somme + $i; } echo “Somme des entiers de 1 à 10 = $somme “; Pour i partant de 1 et tant que i <= 10, ajouter 1 à i après chaque itération
Les tableaux Il existe plusieurs manières de manipuler les tableaux $tableau = array(); array_push($tableau,1); array_push($tableau,2); array_push($tableau,3); reset( $tableau ); while (list($cle,$val) = each($tableau)) { echo “tableau[ $cle ] = $val \n“; } $tableau = array(); $tableau[1] = 1; $tableau[2] = 2; $tableau[3] = 3; print_r( $tableau ); $tableau = array(1, 2, 3); foreach($tableau as $element) { echo “$element \n“; }
Le Langage PHP Accès aux bases de données
Accéder à une Base de Données 1) Établir la connexion avec le serveur MySQL Fichier database.php • function database_open() { • $host = “richer.info-ua“; • $user = “audrey“; • $pass = “ce1mdpp“; • $db = “test“; • $acces = mysql_connect($host, $user, $pass); • if (!$acces) die(“Erreur connexion serveur mysql“); • mysql_select_db($db) or die(“Sélection bd impossible“); • return $acces; • } • function database_close($link) { • mysql_close($link); • }
Accéder à une Base de Données 2) Exécuter une requête MySQL require(‘database.php’); $link = database_open(); $query = “SELECT cl_nom, cl_prenom FROM clients;“; $result = mysql_query( $query ); if (!$result) { echo “Erreur : “ . mysql_error(); } else { while ($record = mysql_fetch_row($result)) { echo “$record[1]$record[0] \n“; } } database_close($link);
Exercices • Afficher le nom des clients qui ont réalisé une commande de plus de 100 € ainsi que le montant de la commande. Indiquez le montant total des commandes de plus de 100 €
PHP et pages Web PHP fonctionne du côté serveur Internet ou Réseau local
PHP et pages Web Pour utiliser PHP, on peut On introduit du code php dans un fichier d’extension .html ou .php Index.html ou index.php <html> <head> … </head> <body> <h2> <?php $jour = date(“d/m/y"); echo “Bonjour, nous sommes le $jour" ?> </h2> </body> </html>
Exercices Reprendre la requête précédente et créer une page html qui permet de visualiser les commandes : • Afficher le nom des clients qui ont réalisé une commande de plus de 100 € ainsi que le montant de la commande. Indiquez le montant total des commandes de plus de 100 €