Formation PHP CREFOC MAHDIA

Janvier 2008
Inspecteur : Lotfi Elayeb Formateur : Mourad SFAR

Le contenu de ce document est soumis à la Licence de Documentation Libre (GNU Free Documentation License)

1

Objectifs 
 

Connaître les composantes logicielles d¶un site Web dynamique ; Maîtriser le langage PHP ; Créer et manipuler des bases de données MySQL grâce à l¶outil PHPMyAdmin ; Développer des sites web dynamiques intégrant des bases de données MySQL ; Administrer le SGBD MySQL.  

2

Le contexte d¶utilisation du PHP PHP

Mourad SFAR Le contenu de ce document est soumis à la Licence de Documentation Libre (GNU Free Documentation License)
3

Plan 

Les défauts du langage HTML Les différentes solutions proposées Présentation et historique du PHP  

4

Les défauts du langage HTML
Absence des itératives) structures algorithmiques (conditionnelles ou

Un langage de création d interface sans aucune logique de programmation procédurale( notion de sous programmes, type de données, variables ). Aucune communication avec la plate forme d exécution (date système, le navigateur utilisé..) Absence de possibilité d interfaçage avec une base de données.

5

Les défauts du langage HTML
Absence de gestionnaires d évènements autre que l événement clique (pas de gestionnaires d évènements par exemple pour le chargement d une page ou le survol d un objet) Absence de mécanismes de verrouillage de code source (pour pouvoir le visualiser , il suffit d utiliser l option affichage code source de votre navigateur)

6

Les différentes solutions pour surmonter les défauts du langage HTML

Utilisation des langages côté client (JavaScript ou le VbScript)

Utilisation des langages côté serveur (ASP, PHP, JSP,Cold Fusion

)

7

Introduction au langage PHP
PHP est un langage de script qui s'inclut dans le langage HTML. La syntaxe du langage PHP provient du C, du Java et du Perl, avec un petit nombre de fonctions inédites par rapport à ces langages.

Les principaux atouts du PHP sont :
La gratuité et la disponibilité du code source La possibilité d'inclure le script PHP au sein d'une page HTML La simplicité d'interfaçage avec des bases de données (de nombreux SGBD sont supportés, mais le plus utilisé avec ce langage est MySQL, un SGBD gratuit disponible sur les plateformes Unix, Linux, et Windows)) ; L'intégration au sein de nombreux serveurs web (Apache, Microsoft IIS, etc )

8

L¶environnement de programmation PHP, MySql

Mourad SFAR Le contenu de ce document est soumis à la Licence de Documentation Libre (GNU Free Documentation License)
9

Plan 

Les différentes solutions pour installer l¶environnement de PHP 

  

Installation du serveur Web Apache 1.3.33 Installation de PHP 4.3.10 Configuration d¶Apache, PHP4 Installation de l¶interface PHPMyAdmin 2.6.1

10

Les différentes solutions pour installer l¶environnement PHP
On peut installer l¶environnement de PHP de deux façons : Manuellement, en configurant les différents fichiers d¶Apache et PHP. Automatiquement, en utilisant un utilitaire qui installe et configure automatiquement tout ce dont vous avez besoin.

11

Les différentes solutions pour installer l¶environnement PHP
La deuxième façon la plus simple pour installer l¶environnement PHP est de télécharger EazyPHP à partir de l¶adresse : http://www.easyphp.org/ en cliquant sur EasyPHP 1.8. Cet utilitaire va installer et configurer tout l¶environnement PHP (Apache 1.3.33, PHP 4.3.10, PHPMYADMIN 2.6.1 et MYSQL 4.1.9)

12

La syntaxe de base du PHP

Mourad SFAR Le contenu de ce document est soumis à la Licence de Documentation Libre (GNU Free Documentation License)
13

Plan
Présentation du langage PHP Apports du langage PHP Les principes syntaxiques de base du PHP 

 

14

Présentation du PHP
PHP est un langage de script qui s'inclut dans le langage HTML. Le but du langage PHP est de permettre aux développeurs de sites Web d'écrire rapidement des pages Web dynamiques. Ce qui distingue le PHP des langages de script comme le JavaScript est que le code est exécuté sur le serveur et non par le navigateur. Le client ne reçoit que le résultat, sans aucun moyen d'avoir accès au code qui a produit l¶affichage.

15

16

Les Apports de PHP 
Le langage PHP possède les mêmes fonctionnalités que les autres langages permettant d'écrire des scripts CGI, comme par exemple : - Collecter des données. - Générer dynamiquement des pages web - Envoyer et recevoir des cookies. La plus grande qualité du langage PHP est le support d'un grand nombre de bases de données en mode natif dont : Adabas D, dBase, Empress, FilePro, Informix, InterBase, mSQL, MySQL, Oracle, PostgreSQL,

17

Les Apports de PHP 
Disponibilité sur plusieurs systèmes d¶exploitation : UNIX, Windows et MAC Génération des fichiers PDF ou des images GIF Langage orienté objet

18

Les principes syntaxiques de base du PHP yntaxiques 
La syntaxe du PHP est très proche de celle du langage C. Quatre méthodes pour insérer un script PHP dans une page PHP : 
Standard :

<?php echo ( exemple en PHP ) ; ?>  Option short_open_tag : <? echo ( exemple en PHP ) ; ?>  Option asp_tags : <SCRIPT LANGUAGE= µphp¶>echo ( exemple en PHP ) </SCRIPT>  Marqueur script du HTML : <% echo ( exemple en PHP ) ; %>

19

Les principes syntaxiques de base du PHP yntaxiques 
Une instruction se termine par un point-virgule. Commentaires : Exemple : <? //commentaire sur une ligne echo "<b>Ma permiere page PHP</b><br>"; echo "<br>"; /* Commentaire sur plusieurs lignes */ print "bonjour"; ?>

20

Les principes syntaxiques de base du PHP yntaxiques
Exemple : <html> <head> <Title>Ma première page en PHP</Title> </head> <body> <b>Bienvenue au langage html</B> <br><br> <script language=javascript> document.write("<I>Bienvenue au Javascript</i>"); </script> <br> <? echo("<br> <u>Bienvenue au langage PHP </u>"); ?> </body> </html>
21

Variables, constantes et types de données 
Le recours à des constantes constitue un moyen pratique pour affecter une valeur à un identifiant, puis de faire référence à cet identifiant dans l¶ensemble du programme. Pour définir une constante, on fait appel à la fonction define(). Exemple : <? define("LYCEE", "IBN SINA MAHDIA"); echo "Je travaille au Lycee ".LYCEE; ?> Exemple : <? define("SLT", "Salut toi.", true); echo SLT; // affiche "Salut toi." echo Slt; // affiche "Salut toi." ?>
22

Variables, constantes et types de données 
En PHP, les variables sont représentées par un signe dollar suivi du nom de la variable. Une variable est automatiquement déclarée dès que vous lui affectez une valeur. L¶affectation est réalisée à l¶aide de l¶opérateur (=). Exemple : <? $nom = "Mejdi"; $prix = 15.200 ; ?>
23

Variables, constantes et types de données 
PHP tient compte de la casse des caractères dans les noms de variables. Ainsi, $chaine ou $Chaine permet d'adresser deux variables bien distinctes. La fonction gettype() permet de déterminer le type d¶une variable PHP. La fonction settype() permet de modifier le type d¶une variable PHP. Exemple : <? $a=12; echo("Le type de la variable $"."a est :".gettype($a)."<br>"); settype($a,"double"); echo("Le type de la variable $"."a est :".gettype($a)."<br>"); $b=(double)$b; //converti un entier en un réel ?>
24

Les structures algorithmiques en PHP

Mourad SFAR Le contenu de ce document est soumis à la Licence de Documentation Libre (GNU Free Documentation License)
25

Plan 

 

Structures conditionnelles Structures itératives Structures de branchement

26

Les structures de contrôle en PHP 
Instruction if : if (condition) { expression vrai } else { expression faux }
Exemple : <? $a = 10; $b = 11; print "a est égale à $a <br>b est égale à $b<br>"; if ($a > $b) { print " ==> a est plus grand que b"; } else { print " ==> a est inférieure à b"; } ?>
27

Les structures de contrôle en PHP 
Instruction if ..elseif :

if (condition) { expression vrai } elseif (condition) { expression vrai } else { expression faux }

28

Les structures de contrôle en PHP
Exemple : <? $a = 10; $b = 11; print "a est égale à $a, b est égale à $b. "; if ($ a > $b) { print "==> a est plus grand que b"; } elseif ($ a == $b) { print "==> a est égal à b"; } else { print "==> a est inférieure à b."; } ?>

29

Les structures de branchement en PHP
switch (expression) { case resultat1 : # instructions à exécuter si l¶expression vaut resultat1... break ; case resultat2 : # instructions à exécuter si l¶expression vaut resultat2... break ; ... default : # instructions à exécuter en dernier recours... }

30

Les structures de branchement en PHP
Exemple : Switch ($type) { case "Femme" : echo "Bonjour Madame" ; break ; case "Homme" : echo "Bonjour Monsieur" ; break ; default : echo "Bonjour, vous êtes bizarre !" ; }

31

Les structures itératives en PHP
Les structures itératives (boucles) constituent un moyen d¶exécuter un bloc de code un nombre de fois donné, ou jusqu¶à ce qu¶une condition particulière soit satisfaite. 
Boucle While : while (condition) { instructions} Exemple : <? $i = 1; while ($i <= 10) { print $i++." "; /* La valeur affichée est $i avant l'incrémentation */ } ?>

32

Les structures itératives en PHP 
Boucle do..while : do { instructions } while(conditions)

Exemple : <? $i = 0; do { print $i++." "; } while ($i<=10); ?>
33

Les structures itératives en PHP 
Boucle For : for (expr1; expr2; expr3) { instructions }

Exemple : <? for ($i=0 ; $i<=10 ; $i++) { echo $i; echo "<br>"; } ?>
34

Les structures itératives en PHP
Exercice : On vous demande d¶écrire un script PHP permettant d¶afficher par intermittence de couleurs (rouge et bleu) la phrase « Bienvenue au langage PHP » tout en modifiant la taille de la police de 1 à 7.

35

Les types de données structurés en PHP

Mourad SFAR Le contenu de ce document est soumis à la Licence de Documentation Libre (GNU Free Documentation License)
36

Plan 
    

La notion de tableau en PHP Initialisation d¶un tableau Parcourir un tableau Les fonctions de traitement des tableaux Trier un tableau Les fonctions de traitement des chaînes de caractères

37

La notion de tableau en PHP
Un tableau est composé d¶un certain nombre d¶éléments possédant chacun une valeur propre ainsi qu¶une clé ou indice , permettant de faire référence à cet élément. Par défaut, l¶indice du premier élément d¶un tableau est zéro zéro. L¶indice dans le tableau peut être indifféremment un entier ou une chaîne de caractères.

38

Initialisation d¶un tableau
Deux méthodes sont possibles :  Affecter directement les valeurs au tableau : Exemple : <? $tableau[0]="a"; $tableau[1]="b"; $tableau[2]= c ; ?>

39

Initialisation d¶un tableau 
Utiliser la fonction array().
Exemple : <? $tableau = array( a , b , c ) ; ?> On peut utiliser l¶opérateur => afin de spécifier les indices particuliers des éléments d¶un tableau. Exemple : <? $tableau = array(1=>"a", 2=>"b", 3=>"c") ; ?>
40

Parcourir un tableau
Les deux fonctions each() et list() peuvent être utilisées conjointement afin de parcourir un tableau, même si les indices ne sont pas séquentiels. Exemple : <? $tableau[0]="a"; $tableau[1]="b"; $tableau[2]="c"; while (list ($cle, $valeur) = each ($tableau)) { echo ("L'élément $cle est égal à $valeur <br>"); } ?>
41

Les fonctions de traitement des tableaux
Fonction
reset() pos() key() next() prev() end() sizeof()

Description
Remet le pointeur interne de tableau au début. Retourne la valeur de l'élément courant d'un tableau. Retourne l'indice de courant d'un tableau. l'élément

Avance le pointeur interne d'un tableau. Recule le tableau. pointeur courant de

Positionne le pointeur de tableau en fin de tableau. Retourne le nombre d¶éléments dans un tableau.
42

Trier un tableau
PHP dispose de plusieurs fonctions permettant de trier un tableau. La plupart de ces fonctions ne retournent pas de valeur mais modifient simplement le tableau passé en paramètre.  Les fonctions sort() et rsort() permettent de trier un tableau par valeur croissante ou décroissante.  On peut également trier un tableau par indice, à l'aide des fonctions ksort() et krsort(), qui s'utilisent de la même manière que les fonctions précédentes.

43

Parcourir un tableau
Exercice :

On vous demande d¶écrire un script PHP permettant de : ‡ Remplir un tableau avec des entiers, ‡ Afficher le nombre et la somme des éléments de ce tableau, ‡ Trier le tableau par ordre croissant et l¶afficher.

44

Trier un tableau
Exemple : <? $pays = array ("us" => "Etats-Unis", "ch" => "Suisse", "ca" => "Canada", "fr" => "France","de" => "Allemagne"); sort ($pays); while (list ($cle, $val) = each ($pays)) { echo "L'élément $cle est égal à $val<br>\n"; } ?>
45

Les fonctions de traitement des chaînes de caractères 
substr() : string substr(string source, int début, int [taille])
Retourne une portion de string, spécifiée avec le début début et la longeur taille. Exemple : <? $ch=³Je vois la vie en rose"; echo "La chaine de depart est : $ch <br>"; echo(substr($ch,8,6)); echo"<br>"; echo(substr($ch,-4)); echo"<br>"; echo(substr($ch,-14,6)); ?>

46

Les fonctions de traitement des chaînes de caractères 
trim() : string trim (string str)
Cette fonction retire les espaces blancs de début et de fin de chaîne, et retourne la chaîne nettoyée.  strlen() : int strlen (string str) Retourne la longueur de la chaîne string.  str_replace() : string str_replace (string str, string str1, string str2) Remplace toutes les occurences d'une sous chaîne str contenue dans une chaîne str2 par une autre chaîne de caractères str1. Exemple
47

Les fonctions de traitement des chaînes de caractères 
implode() : string implode (string separateur, array tableau) Retourne une chaîne constituée de tous les éléments du tableau,pris dans l'ordre, transformés en chaîne, et séparés par séparateur.  explode() : array explode (string separateur, string chaine) Retourne un tableau qui contient les éléments de la chaîne string, séparés par séparateur.

48

Les fonctions de traitement des chaînes de caractères
Exemple : <? $chaine="388137144147175185813212145127 "; $tab=explode("1",$chaine); $i=0; echo "|"; while($i<sizeof($tab)) { echo "<b> ".$tab[$i]."</b> |"; $i++; } ?>

49

Les fonctions de traitement des chaînes de caractères
Exemple : <? $tab=array(388,37,44,47,75,858,32,2,45,27); $chaine=implode("1",$tab); echo $chaine; ?>

50

Les expressions régulières

Mourad SFAR Le contenu de ce document est soumis à la Licence de Documentation Libre (GNU Free Documentation License)
51

Plan 

 

La notion d¶expressions régulières en PHP Les symboles des expressions régulières Les fonctions utilisant les expressions régulières

52

La notion d¶expressions régulières en PHP régulières 

Une expression régulière permet de caractériser le format d'une chaîne de caractère.  Le but étant de rechercher ou de remplacer un motif dans une chaîne de caractère.  Une expression régulière est une chaîne de caractères contenant des caractères spéciaux et des caractères standards.

53

Les Symboles des expressions régulières Symboles régulières
Symbole et Signification Exemples

Les symboles ^ et $ indiquent "^d": chaîne qui commence par "d". le début et la fin d'une chaîne, "f$": chaîne qui se termine par "f". afin de la délimiter "^t$": chaîne qui commence et se termine par « t". * =>"zéro ou plusieurs" =>"zéro + =>"un ou plusieurs" =>"un ? => "un ou aucun"
"abc*": chaîne qui contient "ab" suivie de zéro ou plusieurs "c" ("abc", "abcc" etc..) "^abc+": chaîne qui commence par "ab" suivie de un ou plusieurs "c" ("abc", "abcc" etc..) "abc?": chaîne qui contient "ab" suivie de zéro ou un "c" ("ab" ou "abc")

54

Les Symboles des expressions régulières Symboles régulières
Symbole et Signification
Les accolades {X,Y} permettent de donner des limites de nombre.

Exemples
"abc{2,}": chaîne qui contient "ab" suivie de deux "c" ou plus ("abcc" etc..). "abc{2,4}": chaîne qui contient "ab" suivie 2, 3 ou 4 "c" ("abcc" .. "abcccc")

"a(bc)*": chaîne qui contient "a" suivie de zéro "bc" ou Les parenthèses ( ) plus permettent de représenter une séquence de caractères.

La barre verticale | se comporte en tant qu'opérateur OU.

"un|le": chaîne qui contient "un" ou "le". "(un|le) cours": chaîne qui contient "un cours" ou "le cours"

55

Les Symboles des expressions régulières Symboles régulières

Symbole et Signification
Le point . indique n'importe quel caractère (une fois) Les crochets [ ] définissent une liste de caractères autorisés (ou interdits). Le signe - permet, quant à lui, de définir un intervalle. Le caractère ^ après le premier crochet indique une interdiction.

Exemples
"^.{3}$": chaîne qui contient 3 caractères. "[abc]": chaîne qui contient un "a", un "b", ou un "c". "[a-z]": chaîne qui contient un caractère compris entre "a" et "z". "[^a-zA-Z]": chaîne qui ne contient pas par une lettre.

56

Les fonctions utilisant les expressions régulières 
ereg() : booléen
ereg (chaîne expression, chaîne texte, [tableau occurrences]) Permet d'évaluer le texte passé en paramètre, à partir de l'expression régulière expression. Exemple : <? if(ereg( ^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$ , $email)) { echo ( Adresse email valide ) ; } else { echo ( Adresse email erronée ) ; } ?>
57

Les fonctions utilisant les expressions régulières 
ereg_replace() : chaîne
ereg_replace(chaîne expr, chaîne de remplacement, chaîne texte)

Retourne la chaîne texte passée en paramètre, modifiée à l'aide de l'expression régulière et de la chaîne de remplacement. Exemple : <? $chaine = "Ceci # est # un test"; $chaine = ereg_replace("[^A-Za-z0-9]", "_", $chaine); print $chaine; //Affiche : Ceci _ est _ un test ?>
58

Les fonctions en PHP

Mourad SFAR Le contenu de ce document est soumis à la Licence de Documentation Libre (GNU Free Documentation License)
59

Plan 

 

La notion de fonctions en PHP La portée d¶une variable Les variables statiques

60

La notion de fonctions en PHP
Une fonction est un bloc de code défini une fois, puis invoqué à partir d¶autres endroits du programme. Une fonction peut accepter un ou plusieurs arguments, accompli un ensemble d¶opérations prédéfinis selon ces arguments puis renvoie une valeur en résultat. function ma_fonction ($arg_1, $arg_2, ..., $arg_n) { // Corps de ma fonction... return $valeur_de_retour ; }

61

La notion de fonctions en PHP

Exemple : Function carre($nombre) { return $nombre * $nombre ; } echo carre(3) ; //affiche la valeur 9

62

La notion de fonctions en PHP
Exercice : Écrire un script PHP contenant une fonction permettant de tracer un tableau de x lignes et y colonnes. Rappel HTML : <TABLE border=1> <TR> <TD> Cellule 1 </TD> <TD> Cellule 2 </TD> </TR> </TABLE>

// TR: trace une ligne // TD: trace une colonne

63

La portée d¶une variable
La portée d¶une variable détermine quelles parties du programme y ont accès. Pour la plupart des variables, la portée concerne la totalité d'un script PHP. Mais, lorsque vous définissez une fonction, la portée d'une variable définie dans cette fonction est locale à la fonction. Exemple : <? $var= a ; function change_var() { $var = b ;} change_var() ; echo( $var ) ; //affiche a ?>
64

La portée d¶une variable 
Pour accéder à une variable globale au sein d¶une fonction il faut la déclarer global au sein de la fonction.

Exemple : <? $var= a ; function change_var() { global $var ; $var = b ; } change_var() ; echo( $var ) ; //affiche b ?>
65

Les variables statiques variables statiques
Une variable statique est une variable locale qui ne perd pas sa valeur à chaque fois que la fonction est exécutée. On utilise l¶attribut static pour déclarer une telle variable. Ce type de variable est très utile pour la création de fonctions récursives.

66

Les variables statiques variables statiques
Exemple : <? function compte () { static $compteur = 0 ; $compteur++ ; echo "$compteur " ; if ($compteur < 10) compte() ; } compte() ; ?> Entre chaque appel de la fonction compte() : La variable $compteur ne sera pas réinitialisée.
67

Traitement des formulaires HTML en PHP

Mourad SFAR Le contenu de ce document est soumis à la Licence de Documentation Libre (GNU Free Documentation License)
68

Plan 

 

Idée et Objectif Squelette d¶un script de traitement de formulaire Exemple

69

Idée et Objectif Idé
Le but est de présenter une méthodologie de traitement des formulaires dans le cas d¶un site web dynamique. La structure générale d¶un script de traitement de formulaire doit : ‡ Implémenter le formulaire lui même ; ‡ Procéder à des contrôles de saisie ; ‡ Effectuer des actions suivant que la saisie est validée ou non.

70

Squelette d¶un script de traitement de formulaire
<html><body> <? //Est-ce la première fois qu¶on passe dans le script //NON if(NON) { //contrôle sur la saisie« //Si la saisie est correcte : SAISIE VALIDE if(SAISIE VALIDE) { // Actions diverses // Message } //SINON : Saisie INVALIDE else { //Actions diverses //Message..} }
71

Squelette d¶un script de traitement de formulaire
//OUI ou saisie invalide if(OUI ou SAISIE INVALIDE) { ?> <form method= POST action= script.php > <INPUT TYPE= HIDDEN NAME= formulaire value= ok > </FORM> <? } ?> </BODY> </HTML>

72

Exemple
Admettons que nous devions élaborer un formulaire assurant la saisie du nom, prénom et de l¶adresse e-mail d¶un visiteur, afin de les stocker dans une base de données. Deux champs seront en saisie obligatoire : nom et adresse e-mail. Et dans une certaine mesure, nous chercherons à contrôler la validité de l¶adresse e-mail saisie. Pour finir, notre formulaire devra renvoyer un message au client afin de l¶inviter à modifier sa saisie si cette dernière est invalide, ou de l¶informer que sa saisie a été prise en compte dans le cas contraire.

73

Création et gestion d¶une base de données MySql à travers PHPMyAdmin

Mourad SFAR Le contenu de ce document est soumis à la Licence de Documentation Libre (GNU Free Documentation License)
74

Plan 



Installation de l'interface phpMyAdmin Les types de données MySQL

75

Accès à l'interface phpMyAdmin
‡ Cliquer avec le bouton droit sur l¶icône de Easy-PHP dans la barre des taches et choisir Administration.

76

Accès à l'interface phpMyAdmin

Cliquer sur PHPMyAdmin

77

Accès à l'interface phpMyAdmin

78

Les types de données MySQL
Type TINYINT SMALLINT MEDIUMINT INT BIGINT Description
Très petit entier. En signé de -128 à 127, en non signé de 0 à 255. Petit entier. En signé de -32768 à 32767, en non signé de 0 à 65535. Entier de taille moyenne. En signé de -8388608 à 8388607, en non signé de 0 à 16777215. Entier de taille normale. En signé de -2147483648 à 2147483647, en non signé de 0 à 4294967295. Entier de grande taille. En signé de -9223372036854775808 à 9223372036854775807, en non signé de 0 à 18446744073709551615.

79

Les types de données MySQL
Type FLOAT DOUBLE REAL DECIMAL Description
Nombre à virgule flottante. Toujours -3.402823466E+38 à -1.175494351E-38. signé de

Grand nombre à virgule flottante. Toujours signé de -1.7976931348623157E+308 à 2.2250738585072014E308. Idem "DOUBLE". Nombre à virgule flottante. Les nombres sont stockés dans la variable sous forme de chaîne de caractères.Toujours signé de -1.7976931348623157E+308 à 2.2250738585072014E-308. Idem "DECIMAL".

NUMERIC

80

Les fonctions PHP d¶interfaçage avec MySql

Mourad SFAR Le contenu de ce document est soumis à la Licence de Documentation Libre (GNU Free Documentation License)
81

Plan 

  

Connexion au serveur des données Sélection de la base Exécution d¶une requête SQL Exploitation des requêtes

82

Connexion au serveur des données 
int mysql_connect (string hostname, string username, string password) Exemple : <? if( mysql_connect("localhost" , ³root" , "") > 0 ) { echo " Connexion réussie ! "; } else { echo " Connexion impossible ! "; } ?>

83

Sélection de la base 
int mysql_select_db (string database_name, int link_identifier) Exemple : <? if( mysql_select_db( "ma_base ") == True ) { echo " Sélection de la base réussie "; } else { echo" Sélection de la base impossible"; } ?>

84

Exécution d¶une requête SQL 
int mysql_query (string query, int link_identifier) Contrairement aux autres fonctions (connexion et sélection), La valeur de retour est très importante, elle est utilisée pour retrouver les données rapatriées par une requête de sélection. Exemple : <? $requete = "SELECT * FROM membres WHERE nom = 'ali' "; $resultat = mysql_query( $requete ); ?>

85

Exécution d¶une requête SQL 
int mysql_db_query (string database, string query, int link_identifier) La différence par rapport à mysql_query(), c¶est qu¶on peut sélectionner la base des données en même temps que l¶exécution de la requête. Exemple : <? $req= "SELECT * from employee"; $result = mysql_db_query("database1", $req, $linkId); ?>

86

Exploitation des requêtes
Requête de sélection : array mysql_fetch_row (int result) Extrait de l¶identificateur de résultat (result) la prochaine ligne sous la forme d¶un tableau énuméré ou FALSE s¶il ne reste plus de ligne. Exemple : <? while($enregistrement = mysql_fetch_row($result)) { echo $enregistrement[0] ; //Afficher le champ prénom echo $enregistrement[1] ; //Afficher le champ date echo $enregistrement[2] ; echo <br>; } ?>
87

Exploitation des requêtes 
array mysql_fetch_array (int result, int result_type ) Extrait la ligne sous forme d¶un tableau associatif. Le paramètre result_type est facultatif.Il peut prendre les valeurs suivantes : MYSQL_NUM, MYSQL_ASSOC ou MYSQL_BOTH. Exemple : <? While($enregistrement = mysql_fetch_array($result)) { echo $enregistrement["prenom"] ; //Affiche le champ ±prenomecho $enregistrement["nom"] ; //Affiche le champ ±nomecho $enregistrement["date"] ; //Affiche le champ ±dateecho « <br> »; } ?>
88

Exploitation des requêtes 
object mysql_fetch_object (int result, int result_typ ) Retourne un objet (structure) correspondant à la ligne extraite de l¶identificateur de résultat. L¶argument optionnel result_typ est une constante qui peut prendre les valeurs suivantes : MYSQL_ASSOC, MYSQL_NUM, et MYSQL_BOTH. Exemple : <? $enregistrement = mysql_fetch_object($result); echo $enregistrement->prenom ; //Affiche le champ ±prenomecho $enregistrement->nom; //Affiche le champ ±nomecho $enregistrement->date ; //Affiche le champ ±date?>

89

Exploitation des requêtes 
int mysql_num_rows (int result) Retourne le nombre d¶enregistrements qui ont été retournés par la sélection. Exemple : <? $requete = "SELECT * FROM membres" ; $result = mysql_query($requete); echo "il y a" .mysql_num_rows($result) ." membre(s)"; while($enregistrement = mysql_fetch_array($result)) { echo $enregistrement["nom"]. " " . $enregistrement["prenom"] ; } ?>
90

Exploitation des requêtes 
int mysql_insert_id (int link_identifier ) Retourne le dernier identifiant généré par un champ de type AUTO_INCREMENTED. Exemple : Suite à une requête d¶insertion, on veut afficher le numéro auto incrémenté : <? echo "Votre numéro d¶identifiant est : " .mysql_insert_id() ; ?>

91

Exploitation des requêtes 
int mysql_affected_rows (int link_identifier ) Cette fonction permet de fixer le nombre de lignes insérées, mises à jour ou supprimées par la précédente requête SQL (INSERT, DELETE, REPLACE ou UPDATE) envoyée au serveur. Exemple : Suite à une commande "UPDATE", on voudrait savoir combien de lignes ont été modifiées : <? echo mysql_affected_rows() ." enregistrement(s) modifiés"; ?>
92

Les fonctions PHP pour la gestion des données dans une base MySql

Mourad SFAR Le contenu de ce document est soumis à la Licence de Documentation Libre (GNU Free Documentation License)
93

Plan 

 

Récupération de données Insertion de données Modification de données

94

Récupération de données cupé
Requête de sélection : array mysql_fetch_row (int result) Extrait de l¶identificateur de résultat (result) la prochaine ligne sous la forme d¶un tableau énuméré ou FALSE s¶il ne reste plus de ligne. Exemple : <? while($enregistrement = mysql_fetch_row($result)) { echo $enregistrement[0] ; //Afficher le champ prénom echo $enregistrement[1] ; //Afficher le champ date echo $enregistrement[2] ; echo <br>; } ?>
95

Récupération de données cupé 
array mysql_fetch_array (int result, int result_type ) Extrait la ligne sous forme d¶un tableau associatif. Le paramètre result_type est facultatif.Il peut prendre les valeurs suivantes : MYSQL_NUM, MYSQL_ASSOC ou MYSQL_BOTH. Exemple : <? While($enregistrement = mysql_fetch_array($result)) { echo $enregistrement["prenom"] ; //Affiche le champ ±prenomecho $enregistrement["nom"] ; //Affiche le champ ±nomecho $enregistrement["date"] ; //Affiche le champ ±dateecho « <br> »; } ?>

96

Récupération de données cupé 
object mysql_fetch_object (int result, int result_typ ) Retourne un objet (structure) correspondant à la ligne extraite de l¶identificateur de résultat. L¶argument optionnel result_typ est une constante qui peut prendre les valeurs suivantes : MYSQL_ASSOC, MYSQL_NUM, et MYSQL_BOTH. Exemple : <? $enregistrement = mysql_fetch_object($result); echo $enregistrement->prenom ; //Affiche le champ ±prenomecho $enregistrement->nom; //Affiche le champ ±nomecho $enregistrement->date ; //Affiche le champ ±date?>
97

Récupération de données cupé 
int mysql_num_rows (int result) Retourne le nombre d¶enregistrements qui ont été retournés par la sélection. Exemple : <? $requete = "SELECT * FROM membres" ; $result = mysql_query($requete); echo "il y a" .mysql_num_rows($result) ." membre(s)"; while($enregistrement = mysql_fetch_array($result)) { echo $enregistrement["nom"]. " " . $enregistrement["prenom"] ; } ?>
98

Insertion de données 
int mysql_insert_id (int link_identifier ) Retourne le dernier identifiant généré par un champs de type AUTO_INCREMENTED. Exemple : Suite à une requête d¶insertion, on veut afficher le numéro auto incrémenté : <? echo "Votre numéro d¶identifiant est : " .mysql_insert_id() ; ?>

99

Modification de données 
int mysql_affected_rows (int link_identifier ) Cette fonction permet de fixer le nombre de lignes insérées, mises à jour ou supprimées par la précédente requête SQL (INSERT, DELETE, REPLACE ou UPDATE) envoyée au serveur. Exemple : Suite à une commande "UPDATE", on voudrait savoir combien de lignes ont été modifiées : <? echo mysql_affected_rows() ." enregistrement(s) modifiés"; ?>

100

Sign up to vote on this title
UsefulNot useful