Base de donnée MySQL selectionner des données

Jusqu'à présent dans ce didacticiel, vous avez créé une base de données et mettre les informations dedans. Dans cette partie je vais vous montrer comment afficher le contenu de votre base de données et comment créer une page de pour gérer votre base de données.

PHP cours tutorial

PHP MySQL Select selectionner des données


MySQL Select est employé pour selectionner des données à partir d'une base de données.

Sélectionnez des données à partir d'une Table de base de données



Pour utiliser les données ou une partie des données d’une base de données il faut tout d’abord les sélectionner.

Pour sélectionner des données à partir d'une base de données MySQL on utilse le mot clé Select dont la syntaxe est comme suit:


Syntaxe

SELECT nom_colonne(s)
FROM nom_table



Pour que PHP exécute le code ci-dessus nous devons employer la fonction mysql_query ().
Cette fonction est employée pour envoyer une question ou une commande à une connexion de MySQL.

Exemple L'exemple suivant choisit toutes les données stockées dans la table de " visiteurs " que nous avons créé lors d’un chapitre précèdent.
(le caractère * sélectionne toutes les données dans la table) :

Sélectionner le code

<?PHP
$con = mysql_connect (" localhost ", " user ", " pwd ") ;
if (! $con)
  {
die (" pas de connexion :  ". mysql_error ());
  }
mysql_select_db (" maBase ", $con) ;
$result = mysql_query("SELECT * FROM visiteurs");
while($row = mysql_fetch_array($result))
  {
  echo $row['nom'] . " " . $row['prenom'] . " " . $row['age'] . " " . $row['paye'] . " " . $row['sexe'] . " " . $row['date_inscri'];
  echo "<br />";
  }
mysql_close ($con) ;
?> 
	
 


Dans l'exemple ci-dessus les données sont retournés par la fonction de mysql_query () dans la variable $result.
Après, nous employonsla fonction mysql_fetch_array () pour renvoyer la première rangée du enregistrement . Chaque appel à mysql_fetch_array () renvoie la prochaine rangée dans l’enregistrement.
La boucle while fait une boucle pour tous les enregistrements . Pour imprimer la valeur de chaque rangée, nous employons la variable de PHP $row ($row ["nom "] et $row [" prenom "]) etc.…

Afficher le résultat d’une requête dans un Tableau HTML
L'exemple suivant est le même que l'exemple ci-dessus, mais affichera les données dans un tableau HTML:


Sélectionner le code

<?PHP
$con = mysql_connect (" localhost ", " user ", " pwd ") ;
if (! $con)
  {
die (" pas de connexion :  ". mysql_error ());
  }
mysql_select_db (" maBase ", $con) ;
$result = mysql_query("SELECT * FROM visiteurs");
echo"<table><tr><th>ID</th><th>Nom</th><th>Prénom</th><th>Age</th><th>Payé</th><th>Genre</th>
<th>Date inscription</th></tr>" ;
while($row = mysql_fetch_array($result))
  {
  echo "<tr><td>".$row['nom'] . "</td><td> ". $row['prenom'] . "</td><td> ". $row['age'] . "</td><td> ". $row['paye'] . "</td><td> ". $row['sexe'] . "</td><td> ". $row['date_inscri']. "</td><td></tr>";
} 
echo "</table";
mysql_close ($con) ;
? >

 


Vous pouvez n’afficher que les données qui vous intéresse si vous ne voulez pas afficher toutes les données.
Voir le chapitre suivant


Gestion de la table des contacts (suite)

Insérer les données à l'aide de pages HTML à l'aide d'un script PHP.

L'avantage est que vous n'avez pas besoin de changer le script pour chaque donnée que vous voulez entrer et vous pouvez également autoriser les utilisateurs à entrer leurs propres données.

Le code suivant affiche une page HTML avec les zones de texte pour entrer dans les détails appropriés :

Sélectionner le code

<!doctype html>
<html lang="fr">
<head>
	<meta charset="UTF-8">
	<title>Inserer des données dans la table de contacts</title>
	<link rel="stylesheet" href="styles.css" media="all">
</head>
<body>
<form action="insert.php" method="post">
Prenom: <input type="text" name="prenom"><br><br>
Nom: <input type="text" name="nom"><br><br>
Téléphone: <input type="text" name="phone"><br><br>
Mobile: <input type="text" name="mobile"><br><br>
Fax: <input type="text" name="fax"><br><br>
E-mail: <input type="text" name="email"><br><br>
Site Web: <input type="text" name="web"><br><br>
<input type="Submit">
</form>	
</body>
</html>

 

Je vous ai donné le code brut pour cette page HTML, mais bien sûr, vous pouvez la mettre en forme avec du CSS comme vous voulez. C'est juste une forme de base pour vous aider à démarrer. Vous devez ensuite créer une page php que l’on nomme « insert.php » c’est la page qui va traiter les données envoyées par le formulaire de la page html. Dans le script php de cette page au lieu d'utiliser les informations à entrer dans la base de données, vous utiliserez plutôt des variables comme suit:

Sélectionner le code

<?
$username = "nom d'utilisateur" ;
$password = "mot de passe" ;
$database = "nom base de donées" ;

$prenom =$_POST['prenom'] ;
$nom =$_POST['nom'] ;
$phone =$_POST['phone'] ;
$mobile =$_POST['mobile'] ;
$fax =$_POST['fax'] ;
$email =$_POST['email'] ;
$web =$_POST['web'] ;
echo $phone;
mysql_connect("localhost",$username,$password) ;
@mysql_select_db($database) or die ("Impossible de sélectionner la base de données") ;

$query = "INSERT INTO  contacts VALUES('', '$prenom ', '$nom ', '$phone', '$mobile', '$fax', '$email', '$web')" ; 
mysql_query($query) or die ( mysql_error());

mysql_close() ;
?>

 

Ce script doit ensuite être enregistré sous insert.php afin qu'elle puisse être appelée par le formulaire HTML.
Pour ce script, vous pouvez également ajouter un message confirmant la saisie des données et un contrôle de la saisie comme ce que nous avons vu dans l’exemple en haut de cet article.

Sélectionner les données

Maintenant, vous avez au moins un enregistrement, si ce n'est plus, dans votre base de données vous avez l’envie de savoir comment vous pouvez afficher ces données à l'aide de PHP. Avant de commencer, vous devez être familiarisé avec les boucles en PHP (vous pouvez lire à leur sujet dans le tutorial sur : la boucle while), car ils seront utilisées lire des données.

La première commande, que vous devrez utiliser est la requête MySQL composée comme ceci :

SELECT * FROM contacts

Il s'agit d'une commande MySQL de base qui dira au script de sélectionner tous les enregistrements dans la table contacts. Nous allons mettre cette commande dans une variable $demande.

$demande="SELECT * FROM contacts";

Le résultat de cette requête sera obtenu en utilisant la fonction mysql_query(), que nous mettons dans une variable $resultat.

$$resultat=mysql_query($demande);

Dans ce cas, le contenu intégral de la base de données se trouvent alors dans un tableau spécial avec le nom $resultat. Avant que vous pouvez exporter ces données, vous devez stocker chaque information dans une variable distincte. Il y a deux étapes à cela.

Compter les lignes

Avant que vous pouvez passer par les données dans votre variable de résultat, vous devez connaître le nombre de lignes qu’il y a dans la base de données. Vous pouvez utiliser la commande :

$$$num=mysql_numrows($resultat);

Ce qui définira la valeur $num comme le nombre de lignes stockées dans $resultat. Cela peut alors servir dans une boucle pour obtenir toutes les données et les afficher à l'écran.

Mise en place de la boucle

Vous devez maintenant mettre en place une boucle pour prendre chaque ligne du résultat et imprimer les données qui s'y trouve. À l'aide de $num, que vous avez créé ci-dessus, vous pouvez parcourir toutes les lignes assez facilement.

Dans le code ci-dessous, $i est le nombre de fois que la boucle doit être utilisée pour s'assurer qu’elle s'arrêtera à la fin des résultats, il n'y a pas d'erreurs.

$i=0;
while ($i < $num) {
VOTRE CODE
$i++;
}

C'est une boucle de base PHP, elle exécutera le code le nombre exact de fois donné. La variable $i peut être utilisé pour indiquer au script quelle ligne des résultats doit être lu. Comme la première ligne dans la sortie de MySQL est 0, cela fonctionnera correctement.

Assigner les données aux Variables

La dernière partie de ce script de sortie consiste à assigner chaque élément de données à sa propre variable. Le code suivant est utilisé pour ce faire :

$variable=mysql_result($resultat,$i,"fieldname");

Donc, pour prendre chaque pièce des données dans notre base de données, nous utiliserions le texte suivant :

$prenom=mysql_result($resultat,$i,"prenom");
$nom=mysql_result($resultat,$i,"nom");
$phone=mysql_result($resultat,$i,"telephone");
$mobile=mysql_result($resultat,$i,"mobile");
$fax=mysql_result($resultat,$i,"fax");
$email=mysql_result($resultat,$i,"email");
$web=mysql_result($resultat,$i,"web");

Il est inutile d'obtenir le champ ID (bien que nous aurions pu le faire) parce que nous n'en avons pas besoin dans la page actuel.

Le Script complet pour afficher la liste de contacts

Nous pouvons maintenant écrire un script complet pour les données de sortie. Dans ce texte les données ne sont pas formatées quand elles sont affichées :

Voici le code de la page d’affichage de la liste de vous contact, enregistrer le sous « affichage.php » :

Sélectionner le code

<!doctype html>
<html lang="fr">
<head>
	<meta charset="UTF-8">
	<title>Affichage des données de la table des contacts</title>
	<link rel="stylesheet" href="styles.css" media="all">
</head>
<body>
<,h1> Liste des contactes<,/h1>
<?
$username="nom utilisateur";
$password="mot de passe";
$database="votre base de donnée";

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Désolé la base de données ne peut pas être sélectionnée");
$demande="SELECT * FROM contacts";
$resultat=mysql_query($demande);

$num=mysql_numrows($resultat);

mysql_close();

$i=0;
while ($i < $num) {

$prenom=mysql_result($resultat,$i,"prenom");
$nom=mysql_result($resultat,$i,"nom");
$phone=mysql_result($resultat,$i,"telephone");
$mobile=mysql_result($resultat,$i,"mobile");
$fax=mysql_result($resultat,$i,"fax");
$email=mysql_result($resultat,$i,"email");
$web=mysql_result($resultat,$i,"web");

echo "<b>$prenom $nom</b><br>Phone: $phone<br>Mobile: $mobile<br>Fax: $fax<br>E-mail: $email<br>Web: $web<br><hr><br>";

$i++;
}

?>
</body>
</html>


 

Par carabde 20 Aout 2014