www.developpez.com


Inscrivez-vous dès maintenant
à la lettre d'information développeurs

Les langages PHP3 et SQL

Julien Cheype

Introduction au PHP3

Les balises PHP3

Le PHP3 s'intègre parfaitement au HTML, il suffit d'intégrer une balise PHP3 (<?PHP ... ?>) dans une page HTML pour que le contenu soit exécuté
L'exemple 1 effectue l'addition de 5+2. Pour utiliser cet exemple nommez ce fichier avec l'extension .php3 et placez le sur un serveur autorisant le php. L'intérêt de ce programme étant limité nous allons, au cours des exemples, faire évolué ce programme.
    <HTML>
    <BODY>
    Voici le premier exemple, nous allons faire une addition :<BR>
    5 + 2 =
    <?PHP
        print(5+2);
    ?>
    <BR>C'est terminé !

Les variables

Le PHP3 est un langage de programmation, et comme dans tout langage il existe des variables. Les variables sont nécessaires pour stocker différentes valeurs : chaines de caractères, nombres, liens,...
C'est grâce aux variables que l'on peut créer des pages dynamiques.
Dans l'exemple 2 pouvez constater que les variables commencent par le caractère "$", les caractères suivants réprésentent le nom de la variable. Contrairement au C et d'autres langages le PHP n'a pas de variables typées, ainsi dans l'exemple la variable $premier peut contenir aussi bien un nombre qu'une chaîne de caractères. C'est donc une source d'erreurs à laquelle il faut faire attention (additionner un nombre et des caractères).
    <HTML>
    <BODY>
    Voici le premier exemple, nous allons faire une addition :<BR>
    5 + 2 =
    <?PHP $premier = 5;
        $deuxieme = 2;
        $resultat = $premier + $deuxieme;
        print($resultat); ?>
    <BR>C'est terminé !
    </BODY>
    </HTML>

Le passage de valeurs

Il nous reste maitenant à voir comment utiliser les variables, à savoir :
  • Le passage de valeurs simples
  • Utiliser les variables système
  • Utiliser les formulaires
Dans l'exemple 3 on voit que les variables $premier et $deuxieme ne sont pas initialisées, elles prennent les valaurs transmises dans l'URL. Donc pour utiliser cet exemple nommez le fichier ex3.php3, placez le sur le serveur et modifier le lien vers le fichier tel que l'url ressemble à ceci :
http://mon.serveur.com/.../ex3.php3?premier=5&deuxieme=2
On passe donc les valeurs 5 et 2 par l'url, on a l'url simple suivie d'un ? puis les variable et leurs valeurs séparées par &.
    <HTML>
    <BODY>
    Voici le premier exemple, nous allons faire une addition :<BR>
    <?PHP $resultat = $premier + $deuxieme;
        print("$premier + $deuxième = $resultat"); ?>
    <BR>
    C'est terminé !</BODY>
    </HTML>
Nous allons utiliser l'exemple 3 avec un formulaire de deux champs premier et deuxieme. Il s'agit de l'exemple 4, pour utliser ce formulaire il faut le placer dans le même répertoire que le fichier ex3.php3. Dans une formulaire le nom des champs représente le nom des variables de la page qui va gérer les actions. C'est pourquoi le premier champ s'appelle premier et le second deuxieme, en PHP3 les valeurs seront stockées dans $premier et $deuxieme. Finalement, nous avons créé une page web qui fait l'addition de 2 nombres.
<html>
<body>
<form method="post" action="ex3.php3">
    premier <input type="text" name="premier">
    deuxi&egrave;me <input type="text" name="deuxieme">
</form>
</body>
</html>

Le PHP3/SQL

Le SQL

Le SQL est un langage de requêtes pour les bases de données. C'est à dire que se langage permet d'interroger un SGDB (un serveur de base de données). L'intérêt d'utiliser une base de données est multiple (rapidité, efficacité, portabilité,...) deplus le langage SQL et un standard, ainsi lorsque l'on connait le SQL on peut interroger presque tous les serveurs de base de données. Une base de données se compose en plusieurs tables qui contiennent toutes les informations stockés (nom, poid, prix,...). On peut alors ajouter des informations, modifier les informations existantes ou bien encore lire ces informations. Toutes ces opérations se peuvent traduire en requêtes SQL 1. Nous ne nous intéresserons qu'à des requêtes très simple car le but de ce chapitre est de nous faire connaître comment utiliser les base de données avec le PHP3 L'exemple 5 crée une table user, à l'aide de la commande CREATE, comprenant les champs ID, Nom, Prenom. Le champ ID sert de clef primaire, il est unique pour chacune des entrées, c'est grâce à la clef primaire que le SGDB différencie chacune des "lignes".
CREATE TABLE user
    (ID INT NOT NULL auto_increment,
    Nom VARCHAR(30) NOT NULL,
    Prenom VARCHAR(30));
L'exemple 6 est une représentation graphique de la table user. J'y ai rajouté 4 entrées.
ID Nom Prenom
1 Cheype Julien
2 Lardry Sylviane
3 Casquet José
4 Bréandon Fabien
Nous allons maintenant voir comment manipuler cette table. Pour commencer voyons la commande qui permet de consulter les informations, la commande SELECT.
La commande SELECT a une construction particulière :
SELECT champs FROM table;
ou dans notre exemple
SELECT Nom,Prenom FROM user;
Cette commande affichera les champs sélectionnés de chacune des entrées 2.
On peut préciser quelles entrées nous voulons afficher grâce à la commande WHERE :
SELECT champs FROM table WHERE filtre;
ou dans notre exemple
SELECT Nom,Prenom FROM user WHERE Prenom='Julien';
Cette commande affichera les champs sélectionnés de chacune des entrées ayant comme prénom Julien.
Voyons maintenant comment ajouter une entrée, la commande INSERT :
INSERT INTO table (champ1,champ2,...) VALUES (val1,val2,...)
ou dans notre exemple
INSERT INTO table (Nom,Prenom) VALUES (Drieux,Florian)
Cette commande ajoute Florian Drieux à la liste, il aura le numéro suivant (5), celui-ci est attribué automatiquement.

Intégration de SQL dans le PHP3

Pour pouvoir dialoguer avec le SGDB notre programme PHP3 à besoin de créer un lien. Ce lien est propre à chaque type de SGDB mas nous ne verrons que celui portant sur MySQL 3. Voyons tout dabord la connection au serveur, la fonction mysql_connect() :
$mysql_link = mysql_connect($host, $user, $password);
Où $host, $user, $password sont les chaines de caractères correspondantes.
Une fois connecté au serveur il faut choisir le base de données sur laquelle on va travailler, la fonction mysql_select_db() :
mysql_select_db($ma_base , $mysql_link);
Où $ma_base contient le nom de la base de données.
Il nous reste à faire une requête SQL, grâce à la fonction mysql_query() :
$Query = "SELECT Nom,Prenom FROM user WHERE Prenom='Julien'";
$mysql_result = mysql_query($Query, $mysql_link);
On obtient donc la variable $mysql_result qui contient le résultat de la requête.
Il ne reste plus qu'a traiter l'information récupérée :
while($row = mysql_fetch_row($mysql_result))
{
    $item_nom = $row[1];
    $item_prenom = $row[2];

    print("$item_nom $item_prenom<BR>");
}
Pour chacune des entrées, on affiche le nom et le prénom.

Notes

... SQL1
le langage SQL apporte de nombreuses autres possibilités
... entrées2
On peut utiliser le jocker (*) à la place de champs pour selectionner tous les champs.
... MySQL3
La syntaxe de connection et des requêtes diffère très peu d'un SGDB à un autre.


Cheype Julien 2000-09-26

Si vous souhaitez m'aider, me corriger ou tout autre chose, vous pouvez m'envoyer un email à : mushman@free.fr

Hit-Parade


Vos questions techniques : Forum d'entraide PHP - Publiez vos avis, liens, cours & articles : Publication
et rejoignez-nous dans l'équipe de rédaction de l'Association d'entraide des développeurs Francophones
Copyright 2000 www.developpez.com