Seleccione y Ordene datos de una base de datos MySQL
Para seleccionar y ordenar datos en MySQL, se utiliza la sentencia SQL SELECT
junto con ORDER BY
. La cláusula ORDER BY
permite ordenar los resultados en orden ascendente (ASC
) o descendente (DESC
). Es posible ordenar por una o varias columnas para estructurar la salida de datos según las necesidades de la consulta.
SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname ASC;
Seleccione y Ordene datos con MySQLi
MySQLi (MySQL Improved) es una extensión mejorada de MySQL en PHP. Se puede utilizar en modo orientado a objetos o procedimental. Para seleccionar y ordenar datos con MySQLi, primero se establece una conexión con la base de datos, luego se ejecuta una consulta SELECT
con ORDER BY
, y finalmente se procesan los resultados.
Ejemplo (MySQLi Orientado a Objetos)
En este ejemplo, se usa la programación orientada a objetos en PHP para conectarse a MySQL y obtener datos ordenados:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Crear conexión
$conn = new mysqli($servername, $username, $password, $dbname);
// Verificar conexión
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
Ejemplo (Procedimental MySQLi)
Este enfoque utiliza funciones procedimentales de MySQLi para realizar la conexión y consulta:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Crear conexión
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Verificar conexión
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
Ejemplo (Tabla HTML con MySQLi Orientado a Objetos)
Este código muestra los datos en una tabla HTML para mejorar la visualización de los resultados:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Crear conexión
$conn = new mysqli($servername, $username, $password, $dbname);
// Verificar conexión
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Name</th></tr>";
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["id"]."</td><td>".$row["firstname"]." ".$row["lastname"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
Seleccione datos con PDO (Declaración preparada)
PDO (PHP Data Objects) es una abstracción de base de datos que permite interactuar con múltiples sistemas de bases de datos de manera segura. Se recomienda el uso de declaraciones preparadas para prevenir inyecciones SQL y mejorar la eficiencia en la ejecución de consultas repetitivas.
Ejemplo (PDO con Tabla HTML)
Este código utiliza PDO para conectarse a la base de datos y mostrar los resultados en una tabla:
<?php
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</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();
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
echo $v;
}
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias