PHP MySQL Clauza ORDER BY. Selectați date cu PDO (+ declarații pregătite). Exemplu (PDO).
Partajeaza in Google Classroom
Teorie: Descriere video Descarcă PDF
Selectați date cu PDO (+ declarații pregătite/prepared statements)
Următorul exemplu folosește instrucțiuni pregătite (prepared statements).
Aici selectăm coloanele id, prenume și nume (id, firstname, lastname) din tabelul MyGuests. Înregistrările vor fi ordonate după coloana cu numele de familie și vor fi afișate într-un tabel HTML:
Exemplu (PDO)
<?php
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>Id</th><th>Prenume</th><th>Nume</th></tr>";
class TableRows extends RecursiveIteratorIterator {
function __construct($it) {
parent::__construct($it, self::LEAVES_ONLY);
}
function current() {
return "<td style='width:150px;border:1px solid black;'>" . parent::current(). "</td>";
}
function beginChildren() {
echo "<tr>";
}
function endChildren() {
echo "</tr>" . "\n";
}
}
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname");
$stmt->execute();
// setați tabloul rezultat la asociativ (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 "Eroare: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>