La boucle for...in js : La boucle for... in peut exécuter des commandes à plusieurs reprises. La boucle for... in est couramment utilisée pour la manipulation d'objet.
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.
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:
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
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.…
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
<!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
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
<!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>
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
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 .