1 PHP 1.Langage PHP 1.1. Types de base, variables et constantes 1.2. Opérateurs et expressions 1.3. Instructions 1.4. Fonctions 2.Accès aux bases de données: cas du SGBD mysql
2 Référence bibliographique Pratique de Mysql et PHP de Philippe Rigaux Edition OReilly
3 Environnement d exécution Architecture client-serveur internet logiciel client logiciel serveur (I.E., Netscape,..) (httpd, Apache,..) Adressage des documents URL = protocole://adresse-serveur/référence-fichier ex:
4 Place du code PHP Dans un fichier dextension.php, dans une balise coexistant généralement avec du code html CodeHTML CodeHTML CodeHTML Interpréteur PHP sexécutant sur le serveur Code HTML pur envoyé au client Fichier.php
5 Variables Désignées par $identificateur Ex: $i; $Res; $res; $RES Leur type est défini implicitement par l'assignation dune valeur: Ex: $i=4; $Res="bleu"; Il peut changer en cours d'exécution: Ex: $Res=4;
6 Types de données nombres valeurs booléennes chaînes de caractères tableaux objets
7 Valeurs numériques. Entiers. Flottants Ex: 16; 020; 0x10 Ex: 3.0; 0.003; 3.0e-3 Valeurs booléennes. Valeurs: false (ou 0) true (ou valeur non nulle)
8 Chaînes de caractères Valeurs constantes: encadrées de " ou ' Entre " ", les variables sont évaluées Ex: $nom='Louis'; "Bonjour $nom !" // Bonjour Louis ! 'Bonjour $nom !' // Bonjour $nom !
9 Tableaux (1) Tableaux indicés: $T1[0]=2; $T1[1]=5; $T2=array("bleu","blanc","rouge"); Tableaux associatifs : $T3["directeur"]="Newman"; $T3["secrétaire"]="Dubois"; $T4=array("directeur"=>"Schmoll", "secrétaire"=>"Bemol"); Tableaux "à plusieurs dimensions": - indicés $T[0][0]=2; $T[0][1]="bleu"; $T[1][0]=5; $T[1][1]="blanc"; 2 5 "bleu" "blanc"
10 Tableaux (2) Tableaux "à plusieurs dimensions" (suite) - indicés et associatifs $Tab= array( array("directeur"=>"Newman", "secrétaire"=>"Dubois", "service"=>"compta"), array("directeur"=>"Schmoll", "secrétaire"=>"Bemol", "service"=>"vente") ); - associatifs $Atab= array( "compta" => array( "directeur"=>"Newman", "secrétaire"=>"Dubois" ), "vente" => array("directeur"=>"Schmoll", "secrétaire"=>"Bemol" );
11 Opérateurs Opérateurs numériques: * / % Opérateurs de comparaison > >= < <= == != Concaténation de chaînes:. // 'bon'.'jour' Opérateurs logiques: ! && || and or xor Affectation: = += -=.= // $chaine.= 'jour' ; Opérateur conditionnel: ? : (ternaire) // $heure<16 ? 'bonjour' : 'bonsoir'
12 Instructions (1) Instructions conditionnelles: - if ( condition ) instruction ou bloc [ else instruction ou bloc ] -switch ( expression ) {case valeur1 : instruction/ bloc case valeur2 : instruction/ bloc …. default: instruction/ bloc } Boucles: -boucle for -boucle while -boucle do..while -instructions break, return, continue
13 Instructions (2) Parcours d'un tableau Boucle foreach: –foreach ($ tableau_indicé as $ Elem ) instruction/ bloc –foreach ($ tableau_associatif as $ Cle=> $ Elem ) instruction/ bloc Ex: foreach($Tab as $Ligne) echo $Ligne["service"], ": ", $Ligne["directeur"] ; foreach($Atab as $cle=>$Ligne) echo $cle, ": ", $Ligne["directeur"] ;
14 Fonctions Déclaration: function Nom_Fonction ($ Param1,$ Param2,… ) { instructions } Valeur de retour: instruction return valeur; Pas de déclaration du type des paramètres, ni de la valeur de retour éventuelle. Ex: function cube($x)function AffCub($x) { return $x*$x*$x; } { echo $x*$x*$x; }
15 Etat des variables Fonctions booléennes: isset( $variable ); empty( $variable ); Suppression: unset( $variable );
16 Variables dynamiques ${chaîne-de-caractères}: L'identificateur de variable est une chaîne de caractères comportant une partie variable. Ex: ${"V$i"} représente les variables $V1, $V2, … lorsque $i prend les valeurs 1, 2,...
17 Base de Données Exemple: base videoEXPRESS NoFilm Titre Realisateur Genre NoFilm Acteur 1 1 La chambre des officiers François Dupeyron Drame 2 A la campagne Manuel Poirier Comédie dramatique 3 Belle de jour Luis Bunuel Comédie dramatique 4 5 Eric Caravaca 1Sabine Azéma 2Fernando Rey Table FILMSTable ACTEURS
18 SGBD mysql Interpréteur de commandes SQL: $ mysql –u username mysql> use videoEXPRESS; mysql> select Titre from FILMS where Genre='Drame'; La Chambre des officiers Je rentre à la maison mysql> quit $
19 SQL: commande select Syntaxe: select liste_de_colonnes from liste_de_tables where condition (optionnel) order by liste_de_colonnes (optionnel) ; Exemple: select Titre, Realisateur from FILMS, ACTEURS where FILMS.NoFilm=ACTEURS.NoFilm and Acteur='Catherine Deneuve' order by Realisateur;
20 Accès à mysql en PHP (1) Connexion au serveur mysql: int mysql_connect( hote, login, password); Choix d'une base: int mysql_select_db( base, id_connexion); identifiant_de_connexion | 0 (échec) 1 | 0 (échec)
21 Accès à mysql en PHP (2) Exécution d'une requête: int mysql_query( requete, id_connexion); Accès aux lignes du résultat d'un select: object mysql_fetch_object( id_resultat); identifiant_de_resultat ( pour select ) | 0 ( échec ) Objet dont chaque propriété est un attribut de la ligne courante | false (échec) (valeur d'une propriété: objet->propriété) ~~~~ ~~
22 Accès à mysql en PHP (3) Nombre de lignes du résultat d'un select: int mysql_num_rows( id_resultat); Diagnostic d'erreur string mysql_error(); Nombre de lignes du résultat ~~~~ ~~