1 php 1.langage php 1.1. types de base, variables et constantes 1.2. opérateurs et expressions 1.3....
Post on 04-Apr-2015
106 Views
Preview:
TRANSCRIPT
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 O’Reilly
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
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
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;
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"
0
1
10
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/
blocEx: 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
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
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$
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;
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'erreurstring mysql_error();
Nombre de lignes du résultat
~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~
top related