Mostrar valores de una tabla de base de datos MySQL dentro de una tabla HTML en una página web

Resuelto Alex asked hace 54 años • 9 respuestas

Quiero recuperar los valores de una tabla de base de datos y mostrarlos en una tabla html en una página. Ya busqué esto pero no pude encontrar la respuesta, aunque seguramente es algo fácil (esto debería ser lo básico de las bases de datos jajaja). Supongo que los términos que he buscado son engañosos. El nombre de la tabla de la base de datos es tickets, tiene 6 campos en este momento (submission_id, formID, IP, nombre, correo electrónico y mensaje) pero debería tener otro campo llamado ticket_number. ¿Cómo puedo hacer que muestre todos los valores de la base de datos en una tabla html como esta?

<table border="1">
  <tr>
    <th>Submission ID</th>
    <th>Form ID</th>
    <th>IP</th>
    <th>Name</th>
    <th>E-mail</th>
    <th>Message</th>
  </tr>
  <tr>
    <td>123456789</td>
    <td>12345</td>
    <td>123.555.789</td>
    <td>John Johnny</td>
    <td>[email protected]</td>
    <td>This is the message John sent you</td>
  </tr>
</table>

Y luego todos los demás valores debajo de 'john'.

Alex avatar Jan 01 '70 08:01 Alex
Aceptado

Obtenga los datos primero y luego muéstrelos más tarde.

<?php
$con = mysqli_connect("localhost","peter","abc123","my_db");
$result = mysqli_query($con,"SELECT * FROM Persons LIMIT 50");
$data = $result->fetch_all(MYSQLI_ASSOC);
?>

<table border="1">
  <tr>
    <th>Firstname</th>
    <th>Lastname</th>
  </tr>
  <?php foreach($data as $row): ?>
  <tr>
    <td><?= htmlspecialchars($row['first_name']) ?></td>
    <td><?= htmlspecialchars($row['last_name']) ?></td>
  </tr>
  <?php endforeach ?>
</table>
Jonnny avatar Jul 27 '2013 21:07 Jonnny

Pruebe esto: (Completamente dinámico...)

<?php
$host    = "localhost";
$user    = "username_here";
$pass    = "password_here";
$db_name = "database_name_here";

//create connection
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$connection = mysqli_connect($host, $user, $pass, $db_name);

//get results from database
$result = mysqli_query($connection, "SELECT * FROM products");

//showing property
echo '<table class="data-table">
        <tr class="data-heading">';  //initialize table tag
while ($property = mysqli_fetch_field($result)) {
    echo '<td>' . htmlspecialchars($property->name) . '</td>';  //get field name for header
}
echo '</tr>'; //end tr tag

//showing all data
while ($row = mysqli_fetch_row($result)) {
    echo "<tr>";
    foreach ($row as $item) {
        echo '<td>' . htmlspecialchars($item) . '</td>'; //get items 
    }
    echo '</tr>';
}
echo "</table>";
w411 3 avatar May 23 '2016 20:05 w411 3

Obtenga más información sobre PHP y la biblioteca MySQLi en PHP.net.

Primero, inicie una conexión a la base de datos. Haga esto creando todas las variables de cadena necesarias para conectarse, ajustándolas para que se ajusten a su entorno, luego creando un nuevo objeto de conexión new mysqli()e inicializándolo con las variables creadas previamente como parámetros. Ahora, verifique la conexión en busca de errores y muestre un mensaje si se encontró alguno o no. Como esto:

<?php
$servername = "localhost";
$username = "root";
$password = "yourPassword";
$database = "world";
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = new mysqli($servername, $username, $password, $database);

A continuación, cree una variable que contenga la consulta como una cadena; en este caso, es una selectdeclaración con limit100 registros para mantener la lista pequeña. Luego, podemos ejecutarlo llamando a la mysqli::query()función desde nuestro objeto de conexión. Ahora es el momento de mostrar algunos datos. Comience abriendo una <table>etiqueta hasta echo, luego busque una fila a la vez en forma de matriz numérica que mysqli::fetch_row()luego se puede mostrar con un simple bucle foreach. No olvides usar <td></td>para cada valor y también abrir y cerrar cada fila con echo"<tr>"y echo"</tr>. Finalmente cerramos la mesa.

<?php
$query = "select * from city limit 100;";
$queryResult = $conn->query($query);
echo "<table>";
while ($queryRow = $queryResult->fetch_row()) {
    echo "<tr>";
    forech($queryRow as $value) {
        echo "<td>".htmlspecialchars($value)."</td>";
    }
    echo "</tr>";
}
echo "</table>";
Arturo Lozano avatar Jul 03 '2017 21:07 Arturo Lozano

Aquí hay una manera fácil de recuperar datos de una base de datos MySQL usando PDO.

define("DB_HOST", "localhost");    // Using Constants
define("DB_USER", "YourUsername");
define("DB_PASS", "YourPassword");
define("DB_NAME", "Yourdbname");

$dbc = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset-utf8mb4", DB_USER, DB_PASS);

$print = ""; // assign an empty string

$stmt = $dbc->query("SELECT * FROM tableName"); // fetch data
$stmt->setFetchMode(PDO::FETCH_OBJ);

$print .= '<table border="1px">';
$print .= '<tr><th>First name</th>';
$print .= '<th>Last name</th></tr>';

while ($names = $stmt->fetch()) { // loop and display data
    $print .= '<tr>';
    $print .= "<td>".htmlspecialchars($names->firstname)."</td>";
    $print .= "<td>".htmlspecialchars($names->lastname)."</td>";
    $print .= '</tr>';
}

$print .= "</table>";
echo $print;
Ali Abdul avatar Dec 16 '2016 13:12 Ali Abdul