PHP/MySQL
Premiers pas

Exemple de sélection de données

Exemple d'affichage tabulaire


Exemple de sélection de données

Exemple Commentaires
mysql_connect("$host","$user","$pass");
mysql_select_db("$bdd");
$query="SELECT * FROM $table";
$resultat=mysql_db_query("$bdd",$query);
mysql_close();
$host = machine depuis laquelle vient la requête (serveur web/php)
$user = nom d'un utilisateur autorisé de mysql (ou vide)
$pass = mot de passe du user ci-dessus (ou vide)
$bdd = nom de la base de donnée sélectionnée
$table= table sur laquelle s'exerce la requête
$query= chaîne de caractère contenant la requête mysql à envoyer

$resultat= identificateur permettant ensuite de manipuler les données résultant de l'exécution de la requête. Les fonctions et moyens d'exploitation sont extrêmement nombreux et ne seront pas abordées, ici. Je donne plus bas un exemple simple.

Le signe "*" après le mot SELECT signifie que l'on veut extraire tous les champs de chaque enregistrement sélectionné. Sinon, une suite de noms de champs, séparés par des virgules, doit être spécifiée.

Bien entendu, vous pouvez utiliser des constantes à la place des variables.

mysql_close() peut prendre une base en paramètre. Quand le paramètre manque, c'est la dernière connexion ouverte qui est refermée. On peut l'oublier (pas très pédagogique et risqué si vous écrivez des choses plus complexes plus tard) car toutes les connexions non permanentes sont refermées à la fin de l'exécution du script.

Note : Je n'ai pas vérifié l'impact de l'absence ou présence de guillemets doubles autour des variables dans les diverses fonctions ci-dessus. J'utilise la syntaxe que j'ai vue la première fois et comme ça marche j'ai pas poussé les tests. Il existe de nombreux endroits dans php où la présence ou absence de guillemets est capitale pour que ça fonctionne, par contre... Mais vous verrez ça plus tard.

Exemple d'affichage tabulaire

Les données sélectionnées ci-dessus, doivent maintenant être exploitées. Ci-dessous, un exemple d'affichage sous forme de tableau.

Exemple Commentaires
$lignes=mysql_num_rows($resultat);
if($lignes == "0")
{echo"Il n'y a pas de réponse à votre demande<BR>";}
else
{echo "<table>"
while($row =
mysql_fetch_array($resultat)) {
  echo "<tr><td>";
  echo $row["nom"]."</td><td>";
  echo $row["prenom"]."</td></tr>";
  }
echo "</table>}
mysql_free_result($resultat);
$lignes = nombre d'enregistrements retournés

$row = tableau associatif contenant le contenu des champs retournés dans l'enregistrement courant.

mysql_fetch_array a un double rôle :
Il retourne un enregistrement dans un tableau associatif et incrémente de 1 le pointeur d'enregistrement. Lorsqu'il arrive à la fin, il retourne un résultat vide et la boucle while s'arrête.

L'intérêt du tableau associatif tient, entre autre, à la simplicité et la lisibilité du code à écrire pour afficher le contenu des champs.
"nom" et "prenom" sont des noms de champs de la table

Suite... au prochain numéro


E. Durup - 3/12/2000