l3 module libre

20
L3 Module Libre Année universitaire 2005-2006 Initiation à la Bioinformatique Jean-Michel RICHER

Upload: alika

Post on 07-Jan-2016

16 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: L3 Module Libre

L3 Module Libre

Année universitaire 2005-2006

Initiation à la Bioinformatique

Jean-Michel RICHER

Page 2: L3 Module Libre

Troisième Cours

Le Langage PHP

Application au traitement desdonnées

Page 3: L3 Module Libre

Plan

1. Rappel

2. Le Langage PHP

3. Utiliser PHP pour attaquer MySQL

4. PHP et les pages Web

Page 4: L3 Module Libre

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_prenomFROM clients WHERE cl_ville = “Angers“;

Les données sont récupérées sous forme de tables

(n lignes * m colonnes)

Page 5: L3 Module Libre

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)

Langages de script

Page 6: L3 Module Libre

Le Langage PHP

Les bases du langage

Page 7: L3 Module Libre

1994 Rasmus Lerdorf pour les besoins des pages web personnellessignifiait Personal Home Page

1997 réécrit par Zeev Suraski et Andi Gutmans pour donner PHP3PHP : 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

Page 8: L3 Module Libre

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

<?php

echo “Bonjour“;

?>

Exemple de programme PHP

>php bonjour.phpBonjour

Fichier bonjour.php

Page 9: L3 Module Libre

Les variables

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 non sont pas typées en PHP

<?php$valeur = 1;$valeur = “Coucou“;?>

\n : retour à la ligne

Une variable peut prendre n’importequelle valeur (entier, réel, chaîne, tableau)

Page 10: L3 Module Libre

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“;}

Page 11: L3 Module Libre

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 “;

Page 12: L3 Module Libre

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

Page 13: L3 Module Libre

Les tableaux

Il existe plusieurs manières de manipuler les tableaux

$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“;

}

$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“;}

Page 14: L3 Module Libre

Le Langage PHP

Accès aux bases de données

Page 15: L3 Module Libre

Accéder à une Base de Données

1) Établir la connexion avec le serveur MySQL

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);

}

Fichier database.php

Page 16: L3 Module Libre

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);

Page 17: L3 Module Libre

Exercices

1) 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 €

Page 18: L3 Module Libre

PHP et pages Web

PHP fonctionne du côté serveur

Internet ouRéseau local

Internet ouRéseau local

Page 19: L3 Module Libre

PHP et pages Web

Pour utiliser PHP, on peut

On introduit du code php dans un fichier d’extension .html ou .php

<html><head> … </head><body>

<h2><?php$jour = date(“d/m/y"); echo “Bonjour, nous sommes le $jour"?></h2>

</body></html>

Index.html ou index.php

Page 20: L3 Module Libre

Exercices

1) 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 €

Reprendre la requête précédente et créer une page html qui permet devisualiser les commandes :