oujood.com

Base de donnée MySQL selectionner et afficher des données mysql en php

MySQL Select est employé pour selectionner et afficher des données à partir d'une base de données.
Jusqu'à présent, vous avez appris à créer une base de données et une table ainsi qu'à y insérer des données. Il est maintenant temps de récupérer les données que vous avez insérées dans le tutoriel précédent vous avez créé une base de données et mettre des données dedans.
Dans cette partie vous allez apprendre comment afficher le contenu de votre base de données? et comment créer une page pour gérer votre base de données? L'instruction SQL SELECT est utilisée pour sélectionner les enregistrements des tables de la base de données.

chercher |

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 et afficher 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 le code SQL en utilisant la fonction mysqli_query() ou PDO.
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) :

Le code peut être écrit de 3 manières selon le contexte dans lequel on travaille

1- Utilisation de MySQLi orienté objet

Exemple :       Copier le code

<!DOCTYPE html>
<html>
<body>

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mabase";

// Créer une connexion
$conn = new mysqli($servername, $username, $password, $dbname);
// Vérifier la connexion
if ($conn->connect_error) {
  die("Connexion a échouée: " . $conn->connect_error);
}

$sql = "SELECT id, nom, prenom FROM visiteurs";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // Afficher les résultats de chaque ligne
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Nom: " . $row["nom"]. " - prénom: " . $row["prenom"]. "<br>";
  }
} else {
  echo "0 results";
}
$conn->close();

?>
</body>
</html> 

Explication des lignes de code à partir de l'exemple ci-dessus :
Tout d'abord, nous configurons une requête SQL qui sélectionne les colonnes id, nom et prenom de la table visiteurs. La ligne de code suivante exécute la requête et place les données résultantes dans une variable appelée $result.
Ensuite, la fonction num_rows() vérifie si le nombre de lignes retournées est supérieur à zéro.
Si c'est le cas, la fonction fetch_assoc() place tous les résultats dans un tableau associatif que nous pouvons parcourir en boucle. La boucle while() parcourt l'ensemble des résultats qu'on peut afficher avec la fonction echo.
Pour afficher la valeur de chaque rangée, nous employons la variable array de PHP $row ($row ["id"], $row ["nom"] et $row ["prenom"]) etc.…


2- Utilisation de MySQL procedural

L'exemple suivant est le même que l'exemple ci-dessus, mais utilise la fonction mysqli procedural et affichera les données dans un tableau HTML:


Code php

  Copier le code

<!DOCTYPE html>
<html>
<body>

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mabase";

// Créer une connexion
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Vérifier la connexion
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}

$sql = "SELECT id, nom, prenom FROM visiteurs";
$result = $conn->query($sql);

if (mysqli_num_rows($result) > 0) {
/*Affichage des données résultats de chaque ligne dans une table html*/
	echo "<table> <tr><th>id</th><th> Nom</th><th> Prénom</th></tr>";
  
  while($row = mysqli_fetch_assoc($result)) {
    echo "<tr><td>" . $row["id"]. "</td><td>" . $row["nom"]. "</td><td>" . $row["prenom"]. "</td></tr>";
  }
echo "</table>";
} else {
  echo "0 results";
}

mysqli_close($conn);

?>
</body>
</html>

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

3- Sélectionner des données avec PDO et requête préparée

L'exemple suivant utilise des instructions préparées. Il sélectionne les colonnes id, nom et prenom de la table visiteurs et les affiche dans un tableau HTML :

Code

  Copier le code

<!DOCTYPE html>
<html>
<body>

<?php
echo "<table style='border: solid 1px black;border-collapse: collapse;'>";
echo "<tr><th style='width:70px;border:1px solid black;'>Id</th><th style='width:70px;border:1px solid black;'>Prénom</th><th style='width:70px;border:1px solid black;'>Nom</th></tr>";

class TableRows extends RecursiveIteratorIterator {
  function __construct($it) {
    parent::__construct($it, self::LEAVES_ONLY);
  }

  function current() {
    return "<td style='width:70px;border:1px solid black;'>" . parent::current(). "</td>";
  }

  function beginChildren() {
    echo "<tr>";
  }

  function endChildren() {
    echo "</tr>" . "\n";
  }
}

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mabase";

try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $stmt = $conn->prepare("SELECT id, prenom, nom FROM contacts");
  $stmt->execute();

  // set the resulting array to associative
  $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
  foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
    echo $v;
  }
} catch(PDOException $e) {
  echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";

?>
</body>
</html>

Gestion de la table des contacts (suite)

Dans les chapitres précédents nous avons créé la base de données pour vos contacts, nous avons aussi créé le script pour ajouter des contacts à la table de la base de données, et voici la suite: Affichage de la liste de vos contacts

Sélectionner les données : Le Script pour afficher la liste de vos 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 vous pouvez le faire avec du css si vous le désirez:

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

Exemple :       Copier le code

<!DOCTYPE html>
<html>
<body>

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mabase";

// Créer une connexion
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Vérifier la connexion
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}

$demande="SELECT * FROM contacts";
$result = $conn->query($demande);
$num=mysqli_num_rows($result);
if ($num > 0) {
/*Affichage des données résultats de chaque ligne dans une table html*/
	echo "<table> <tr><th>id</th><th> Nom</th><th> Prénom</th><th>Téléphone</th></tr>";
  
  while($row = mysqli_fetch_assoc($result)) {
	  
$id=$row["id"];
$prenom=$row["prenom"];
$nom=$row["nom"];
$phone=$row["telephone"];
$mobile=$row["mobile"];
$fax=$row["fax"];
$email=$row["email"];
$web=$row["web"];
	  
    echo "<tr><td>" . $id. "</td><td>" . $nom. "</td><td>" . $prenom."</td><td>".$phone ."</td></tr>";
  }
echo "</table>";
} else {
  echo "0 results";
}

mysqli_close($conn);

?>
</body>
</html>

Dans le code ci-dessus je n’ai afficher que l’id , le Nom et le prénom, mais vous pouvez afficher touts ce que vous voulez .


Par carabde 20 Aout 2014



Voir aussi nos tutoriel :

:visited

Ajoute un style à un lien visité

HTML et CSS les flottants

HTML et CSS: Les éléments flottants. Position flottante :float...

Référence des drapeaux des filtres (flag-filters)

Référence des drapeaux des filtres (flag-filters)