TUTORIAUX PHP - MySQL

mysql_fetch_array - LIKE
   
 
Créons une nouvelle table dans la base membres que nous allons nommer infos.

Sélectionner la base membre dans MySQL et écrivez :
CREATE TABLE infos( id INT NOT NULL AUTO_INCREMENT,
nom varchar( 15 ) NOT NULL ,age INT NOT NULL ,enfants INT NOT NULL ,
PRIMARY KEY ( id ) )

Insérons ces valeurs :
INSERT INTO infos VALUES ('','manin','32','2');
INSERT INTO infos VALUES ('','gillet','16','0');
INSERT INTO infos VALUES ('','leboss','32','4');
INSERT INTO infos VALUES ('','arthon','35','2');
INSERT INTO infos VALUES ('','lemane','36','3');
INSERT INTO infos VALUES ('','lefred','44','1');
INSERT INTO infos VALUES ('','aristide','28','2');
INSERT INTO infos VALUES ('','briand','62','1');




mysql_fetch_array
Nous allons utiliser mysql_fetch_array .
Cette fonction comme mysql_fetch_object() retourne un tableau et affiche les résultats par ligne.
Ecrivez :
<?
//connexion à la base
$db = mysql_connect('localhost','root','') or die ('erreur de connexion');
//sélection de la base
mysql_select_db('membres',$db);

 

// sélection de la base
$sql = 'SELECT nom,age,enfants FROM infos';

//On envoie la requête
$req = mysql_query($sql) ;

//On fait une boucle
while($val = mysql_fetch_array($req))
{
// on affiche les données
echo ' ' ,$val['nom'],' (',$val['age'],') ans : ', ' ' ,$val['enfants'],' enfants', '<br>';
}

//on ferme la connexion
mysql_close();
?>

Ce qui donne à l'écran :


manin (32) ans : 2 enfants
gillet (16) ans : 0 enfants
leboss (32) ans : 4 enfants
arthon (35) ans : 2 enfants
lemane (36) ans : 3 enfants
lefred (44) ans : 1 enfants
aristide (28) ans : 2 enfants
briand (62) ans : 1 enfants


LIKE
Like vous permet de faire des recherches très précises dans votre table .
On va chercher dans l'exemple suivant tous les noms commençant par la lettre L.
Ecrivez :
<?
//connexion à la base
$db = mysql_connect('localhost','root','') or die ('erreur de connexion');



//sélection de la base
mysql_select_db('membres',$db);

//votre requête
$sql = "SELECT nom,age,enfants FROM infos WHERE nom LIKE 'L%'";

//envoie de la requête
$req = mysql_query($sql) ;

//On fait une boucle
while($val = mysql_fetch_array($req))
{
// on affiche les informations de l'enregistrements en cours
echo ' ' ,$val['nom'],' (',$val['age'],') ans : ', ' ' ,$val['enfants'],' enfants', '<br>';
}

//on ferme la connexion
mysql_close();
?>

Ce qui donne à l'écran :


leboss (32) ans : 4 enfants
lemane (36) ans : 3 enfants
lefred (44) ans : 1 enfants