22
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

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:

Embed Size (px)

Citation preview

Page 1: 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:

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

Page 2: 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:

2

Référence bibliographique

Pratique de Mysql et PHP

de Philippe Rigaux

Edition O’Reilly

Page 3: 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:

3

Environnement d ’exécution

Architecture client-serveur

internet logiciel client logiciel serveur(I.E., Netscape,..) (httpd, Apache,..)

Adressage des documentsURL = protocole://adresse-serveur/référence-fichierex: http://www.moet.com/index.htm

http://www.moet.com/reponse.php

Page 4: 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:

4

Place du code PHP

Dans un fichier d’extension .php,

dans une balise <?php ….... ?>

coexistant généralement avec du code html

<?php …...?>CodeHTMLCodeHTML<?php …...?>CodeHTMLCodeHTML<?php …...?>CodeHTML

Interpréteur PHPs’exécutant sur le serveur

Code HTML pur envoyé au client

Fichier .php

Page 5: 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:

5

Variables

• Désignées par $identificateur

Ex: $i; $Res; $res; $RES

• Leur type est défini implicitement par l'assignation d’une valeur:Ex: $i=4; $Res="bleu";

• Il peut changer en cours d'exécution:

Ex: $Res=4;

Page 6: 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:

6

Types de données

• nombres

• valeurs booléennes

• chaînes de caractères

• tableaux

• objets

Page 7: 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:

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)

Page 8: 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:

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 !

Page 9: 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:

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"

0

1

10

Page 10: 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:

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

Page 11: 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:

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'

Page 12: 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:

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

Page 13: 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:

13

Instructions (2)

Parcours d'un tableau• Boucle foreach:

– foreach ($tableau_indicé as $Elem) instruction/ bloc

– foreach ($tableau_associatif as $Cle=>$Elem) instruction/

blocEx: foreach($Tab as $Ligne)

echo $Ligne["service"] , ": ", $Ligne["directeur"] ;

foreach($Atab as $cle=>$Ligne)

echo $cle , ": ", $Ligne["directeur"] ;

Page 14: 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:

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

Page 15: 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:

15

Etat des variables

• Fonctions booléennes:

isset( $variable );

empty( $variable );

• Suppression:

unset( $variable );

Page 16: 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:

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, ...

Page 17: 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:

17

Base de Données

Exemple: base videoEXPRESS

NoFilm Titre Realisateur Genre NoFilm Acteur

11

La chambredes officiers

François Dupeyron Drame

2 A la campagne

ManuelPoirier

Comédie dramatique

3 Belle de jour Luis Bunuel Comédie

dramatique

4

5

Eric Caravaca

1 Sabine Azéma

2 Fernando Rey

Table FILMS Table ACTEURS

Page 18: 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:

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 officiersJe rentre à la maisonmysql> quit$

Page 19: 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:

19

SQL: commande select

• Syntaxe:select liste_de_colonnesfrom liste_de_tableswhere condition (optionnel)order by liste_de_colonnes (optionnel);

• Exemple:select Titre, Realisateurfrom FILMS, ACTEURSwhere FILMS.NoFilm=ACTEURS.NoFilm

and Acteur='Catherine Deneuve'order by Realisateur;

Page 20: 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:

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)

Page 21: 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:

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

~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~

Page 22: 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:

22

Accès à mysql en PHP (3)

• Nombre de lignes du résultat d'un select:int mysql_num_rows( id_resultat);

• Diagnostic d'erreurstring mysql_error();

Nombre de lignes du résultat

~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~