|
News - - - -
Pratique - - - - - -
Membre - -
Boutique - -
Liens - -
Communiquer - -
Crédits - -
|
| |
Comment utiliser une base de
données MySQL et PHP ?
|
Cet article vous montre comment
utiliser MySQL et PHP, en se basant sur un exemple
: un annuaire de personnes composé :
|
identifiant : chaîne de
caractères de 10 caractères maximum, un identifiant est
unique nom : chaîne de caractères de 100
caractères maximum prenom : chaîne de
caractères de 100 caractères maximum age :
entier dateajout : une
date
|
Schéma de la table
:
create table
annuaire ( identifiant varchar(10) not null, nom
varchar(100), prenom varchar(100), age
int(3), dateajout date, primary
key(identifiant) );
|
Tout d'abord, vous devez vous
connecter à la base de données.
Il y a 4 paramètres l'adresse du serveur
où la base de données (BDD) est hébergée, le nom de
l'utilisateur, le mot de passe et le nom de la base de
données à utiliser. $dbhost
= "localhost"; //si l'ordinateur qui héberge la BDD est
le même que le serveur HTTP $user =
"nom"; $password = "motdepasse"; $usebdd =
"nomdelabdd";
|
La fonction php vous permettant de
vous connecter est mysql_connect (toutes les fonctions
php/mysql commencent par mysql). $connexion =
mysql_connect("dbhost","user","password");
|
Pour vérifier si la connexion est
valide :
if
(!$connexion) { echo "Impossible d'effectuer la
connexion"; exit; }
|
Ensuite, vous devez sélectionner
la base sur laquelle vous voulez travailler
!
$db =
mysql_select_db("$usebdd",
$connexion);
|
Pour vérifier si la base de
données est bien sélectionnée
if (!$db) { echo "Impossible de
sélectionner cette base de
données"; exit; }
|
Nous allons ensuite voir comment
insérer des données en rajoutant une ligne dans la table
annuaire
sfim,airey,romuald,23 Voici la commande SQL le
permettant insert into annuaire values
('sfim','airey','romuald',23,curdate()); Il suffit ensuite d'utiliser la commande
mysql_query, ce qui donne : $resultat_sql = mysql_query("insert into
annuaire values
('sfim','airey','romuald',23,curdate())",$connexion); nb: il ne faut pas mettre le ; courant en
SQL
|
Pour complèter la table on répète
l'opération : insert into
annuaire values
('sfim','airey','romuald',23,curdate()); insert into
annuaire values
('orawat','rawat','olivier',24,curdate()); insert
into annuaire values
('dmarc','dupuis','marc',32,curdate()); insert into
annuaire values
('adupont','dupont','antoine',22,curdate());
|
Comment faire pour supprimer une
ligne ?
la commande sql
serait : delete from
annuaire where identifiant= 'dmarc'; De même on utilise la commande
mysql_query $resultat_sql =
mysql_query("delete from annuaire where identifiant=
'dmarc'",$connexion); ok
maintenant on sait se connecter, inserer,
effacer.
|
comment récupère-t-on les données
?
la table contient
: sfim,airey,romuald,23,2000-01-15 orawat,rawat,olivier,24,2000-01-15 dmarc,dupuis,marc,32,2000-01-15 adupont,dupont,antoine,22,2000-01-15 Par exemple, je veux sélectionner le nom, le
prénom et l'âge des personnes dans l'annuaire de moins
de 30 ans et les ranger par âge décroissant : voici
la commande SQL : select
nom,prenom,age from annuaire where age < 30 order by
age desc; De même que pour
l'insertion et la suppression j'utilise la commande
mysql_query $resultat_sql =
mysql_query("select nom,prenom,age from annuaire where
age < 30",$connexion); Le
résultat de cette commande est retourné dans
$resultat_sql, il faut l'imaginer comme une table qui
serait de cette forme
ligne |
nom |
prenom |
age |
0 |
dupont |
antoine |
22 |
1 |
airey |
romuald |
23 |
2 |
dupuis |
marc |
24 |
|
La première chose à savoir est :
Combien ai-je de lignes de réponse ? $nombreligne =
mysql_num_rows($resultat_sql); Ici j'en aurai 3
|
Il ne reste plus qu'à prendre le
résultat, c'est comme pour touché coulé si je veux la
ligne 1, colonne nom je dis $nom =
mysql_result($resultat_sql,1,"nom"); J'obtiens airey
|
Je veux afficher le résultat de la
requête ! Rien de plus simple avec une boucle
while $i = 0; while
($i<$nombreligne) { $nom =
mysql_result($resultat_sql,$i,"nom"); $prenom =
mysql_result($resultat_sql,$i,"prenom"); $age =
mysql_result($resultat_sql,$i,"age"); echo "$nom
$prenom $age"; $i++; }
|
Bon, on a vu le principal. Pour
le reste, je vous laisse à la doc PHP et MySQL, mais
pour finir un récapitulatif !
<?php // ATTENTION, pour que le script
fonctionne la table doit être créee
$dbhost =
"localhost"; $user = "nom"; $password =
"motdepasse"; $usebdd =
"nomdelabdd";
//connexion au serveur
MySQL
$connexion =
mysql_connect("dbhost","user","password"); if
(!$connexion) { echo "Impossible d'effectuer la
connexion"; exit; }
//sélection de la
BDD
$db = mysql_select_db("$usebdd",
$connexion); if (!$db) { echo "Impossible de
sélectionner cette base
données"; exit; }
// insertion des
données
$resultat_sql = mysql_query("insert into
annuaire values
('sfim','airey','romuald',23,curdate())",
$connexion); $resultat_sql = mysql_query("insert into
annuaire values
('orawat','rawat','olivier',24,curdate())",
$connexion); $resultat_sql = mysql_query("insert into
annuaire values ('dmarc','dupuis','marc',32,curdate())",
$connexion); $resultat_sql = mysql_query("insert into
annuaire values
('adupont','dupont','antoine',22,curdate())",
$connexion);
// sélection des
données
$resultat_sql = mysql_query("select
nom,prenom,age from annuaire where age <
30",$connexion);
// nombre de
lignes
$nombreligne =
mysql_num_rows($resultat_sql);
// affichage du
résultat dans une table HTML
echo
"<table><tr><th>Nom</th><th>Prenom</th><th>Age</th></tr>";
$i
= 0; while ($i<$nombreligne) { $nom =
mysql_result($resultat_sql,$i,"nom"); $prenom =
mysql_result($resultat_sql,$i,"prenom"); $age =
mysql_result($resultat_sql,$i,"age"); echo
"<tr><td>$nom</td><td>$prenom</td><td>$age</td></tr>"; $i++; }
echo
"</table>"; ?>
|
Auteur : AIREY
Romuald Date :
28/01/2000 Email :
aireyr@ilovephp.com | | |