accueil MCSA astuces photos





PHP fonctions de base-2

introduction et
connexion à une base

1- 2- 3
afficher une
image aléatoirement

1- 2
récupérer la résolution
de l'écran

manipulations d'images
1- 2- 3


Bon, voyons maintenant la connexion à la base de données.
La syntaxe pour se connecter a un serveur MySql depuis PHP
est la suivante :

<?php
$hote="nom_du_serveur";
$utilisateur=$_POST['user'];
$mot_de_passe=$_POST['pass'];
mysql_connect("$hote","$utilisateur","$mot_de_passe");
?>

Tout d'abord, le caractère $ indique que le mot
qui le suit est une "variable".
Une variable est tout simplement le nom d'une valeur
qui peut changer.
Ex: la variable "$hote" est le nom de la valeur
"nom_du_serveur".
Reportez vous au manuel PHP
pour plus d'infos.

$_POST['user'] correspond au nom d'utilisateur
envoyé via le formulaire.

Vient ensuite, la syntaxe de connexion au serveur MySql :
mysql_connect("$hote","$utilisateur","$mot_de_passe");

Remarquez que chaque instruction PHP se termine par un point-virgule ';'.

Bien, une fois connecté au serveur, il serait interessant de se connecter a sa base de donnée et d'afficher une table.

<?php
$nombase="ma_base";     // les variables pour
$nomtable="ma_table";  // la table et la base.

mysql_select_db($nombase);   // selection de la base

$demande = "SELECT * from $nomtable";    // on met la requête mysql
					// dans une variable

$resultat = mysql_query($demande);    // on envoit la requête
			             // au serveur. le résultat
				    // sera contenu sous la forme
				   // d'un tableau dans la variable
			          // $resultat

?>

On apelle "requête" une demande faite a un serveur de base
de données.
La requête utilisée ici est SELECT, qui sert à selectionner
une donnée dans la table. Le caractère * (étoile) signifie que nous
voulons toutes les données contenues dans la table.

Le contenu de "$resultat" n'est pas utilisable tel quel,
car il est sous la forme d'un tableau. Il va donc faloir
lire ce tableau pour en extraire le contenu.

C'est ce que nous allons faire avec les fonctions:

mysql_fetch_field pour les noms des colonnes.
mysql_fetch_array pour lire les lignes du tableau.

Dans le même temps, nous allons reconstruire le tableau
mais en langage HTML, afin de l'afficher sur notre page.

<?php
print "\n<table border>\n"; // début du tableau
print "<tr>\n";
while ($colonne = mysql_fetch_field($resultat)) { // tant qu'on a des
					       // colonnes
					       // dans $resultat
	
	print "<td bgcolor='#FFC68C'>$colonne->name </td>\n";

						// écrit le nom des colonnes

} //accolade pour fermer le while

print "</tr>\n";      //et voici la premiere ligne du tableau terminée.


while ($ligne = mysql_fetch_array($resultat, MYSQL_ASSOC)) {
					         // tant qu'on a des
					        // lignes de données
                                               // dans $resultat

print "<tr>\n";
                       
		       // $ligne contient le nom de la colonne
		       // et sa donnée dans un tableau,
		       // il faut donc les séparer.
	
	foreach ($ligne as $col_val) {   // pour chaque valeur
					  // de colonne sur la ligne..

	print "<td>$col_val</td>\n";  //écrit les données
	
	}
print "</tr>\n";  // changement de ligne

} // accolade pour fermer le while

print "</table>\n"; // fin du tableau

?>

Voila, je pense que le code est assez commenté pour
une bonne compréhension.

Notez la commande print qui sert à PHP pour
écrire dans le fichier html qui sera traduit et
affiché par votre navigateur.

Le \n permet à PHP de passer à la ligne,
comme on le fait avec <br> en HTML.

MYSQL_ASSOC permet à la fonction mysql_fetch_array()
d'afficher son résultat sous la forme d'un tableau associatif.
[nom_de_colonne,valeur]

SUITE



Une question ? Donnez votre avis, ou trouver encore plus d'infos : Le Forum