Подтвердить что ты не робот

Показать значения из таблицы базы данных MySQL внутри таблицы HTML на веб-странице

Я хочу получить значения из таблицы базы данных и показать их в виде HTML-таблицы на странице. Я уже искал это, но я не мог найти ответ, хотя это, конечно, что-то легко (это должно быть основами баз данных LOL). Я думаю, что термины, которые я искал, вводят в заблуждение. Имя таблицы базы данных - tickets, на данный момент она имеет 6 полей (submission_id, formID, IP, name, email и message), но должно иметь другое поле ticket_number. Как я могу получить его, чтобы показать все значения из БД в HTML-таблице, как это:

<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>

А затем все остальные значения ниже "Джон".

4b9b3361

Ответ 1

Пример из W3Schools: PHP Выберите данные из MySQL

<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM Persons");

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['FirstName'] . "</td>";
echo "<td>" . $row['LastName'] . "</td>";
echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>

Это хорошее место, чтобы учиться!

Ответ 2

Попробуйте следующее: (полностью динамический...)

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

//create connection
$connection = mysqli_connect($host, $user, $pass, $db_name);

//test if connection failed
if(mysqli_connect_errno()){
    die("connection failed: "
        . mysqli_connect_error()
        . " (" . mysqli_connect_errno()
        . ")");
}

//get results from database
$result = mysqli_query($connection,"SELECT * FROM products");
$all_property = array();  //declare an array for saving property

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

//showing all data
while ($row = mysqli_fetch_array($result)) {
    echo "<tr>";
    foreach ($all_property as $item) {
        echo '<td>' . $row[$item] . '</td>'; //get items using property value
    }
    echo '</tr>';
}
echo "</table>";
?>

Ответ 3

Сначала подключитесь к базе данных:

$conn=mysql_connect("hostname","username","password");
mysql_select_db("databasename",$conn);

Вы можете использовать это для отображения одной записи:

Например, если URL был /index.php?sequence=123, код ниже выбирался из таблицы, где последовательность = 123.

<?php
$sql="SELECT * from table where sequence = '".$_GET["sequence"]."' ";
$rs=mysql_query($sql,$conn) or die(mysql_error());
$result=mysql_fetch_array($rs);

echo '<table>
<tr>
<td>Forename</td>
<td>Surname</td>
</tr>
<tr>
<td>'.$result["forename"].'</td>
<td>'.$result["surname"].'</td>
</tr>
</table>';
?>

Или, если вы хотите перечислить все значения, соответствующие критериям в таблице:

<?php
echo '<table>
<tr>
<td>Forename</td>
<td>Surname</td>
</tr>';
$sql="SELECT * from table where sequence = '".$_GET["sequence"]."' ";
$rs=mysql_query($sql,$conn) or die(mysql_error());
while($result=mysql_fetch_array($rs))
{
echo '<tr>
<td>'.$result["forename"].'</td>
<td>'.$result["surname"].'</td>
</tr>';
}
echo '</table>';
?>

Ответ 4

mysql_connect("localhost","root","");
mysql_select_db("database");
$query=mysql_query("select * from studenti");
[email protected]_num_rows($query);

echo "<a href='file.html'>back</a>";
echo "<table>";
$y=mysql_num_fields($query);
echo "<tr>";

for($i=0 ,$i<$y,$i++)
{
  $values=mysql_field_name($query,$i);
  echo "<th>$values</th>";
}

echo "</tr>";

while(list($p ,$n $your_table_list)=mysql_fetch_row($query))
{
  print("<tr>\n".
  "<td>$p</td>".
  "</tr>/n");
}
?>

Ответ 5

Объектно-ориентированный с PHP/5.6.25 и MySQL/5.7.17 с использованием MySQLi [Dynamic]

Подробнее о PHP и библиотеке MySQLi на PHP.net.

Сначала запустите соединение с базой данных. Сделайте это, создав все строковые переменные, необходимые для подключения, настройте их в соответствии с вашей средой, затем создайте новый объект соединения с new mysqli() и инициализируйте его с помощью ранее сделанных переменных в качестве параметров. Теперь проверьте соединение на наличие ошибок и отобразите сообщение о том, были ли они найдены или нет. Вот так:

<?php
$servername = "localhost";
$username = "root";
$password = "yourPassword";
$database = "world";
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully<br>";
?>

Затем создайте переменную, которая будет содержать запрос как строку, в этом случае его оператор select с limit из 100 записей, чтобы сохранить список небольшим. Затем мы можем выполнить его, вызвав функцию mysqli::query() из нашего объекта соединения. Теперь пришло время отобразить некоторые данные. Начните с открытия тега <table> через echo, затем выберите одну строку за раз в виде числового массива с mysqli::fetch_row(), который затем может быть отображен с помощью простого цикла. mysqli::field_count должен быть самоочевидным. Не забудьте использовать <td></td> для каждого значения, а также для открытия и закрытия каждой строки с помощью echo"<tr>" и echo"</tr>. Наконец, мы закрываем таблицу, а также соединение с mysqli::close().

<?php
$query = "select * from city limit 100;";
$queryResult = $conn->query($query);
echo "<table>";
while ($queryRow = $queryResult->fetch_row()) {
    echo "<tr>";
    for($i = 0; $i < $queryResult->field_count; $i++){
        echo "<td>$queryRow[$i]</td>";
    }
    echo "</tr>";
}
echo "</table>";
$conn->close();
?>

Любая обратная связь будет высоко оценена! Удачи!

Ответ 6

<?php
$mysql_hostname = "localhost";
$mysql_user     = "ram";
$mysql_password = "ram";
$mysql_database = "mydb";
$bd             = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Oops some thing went wrong");
mysql_select_db($mysql_database, $bd) or die("Oops some thing went wrong");// we are now connected to database

$result = mysql_query("SELECT * FROM users"); // selecting data through mysql_query()

echo '<table border=1px>';  // opening table tag
echo'<th>No</th><th>Username</th><th>Password</th><th>Email</th>'; //table headers

while($data = mysql_fetch_array($result))
{
// we are running a while loop to print all the rows in a table
echo'<tr>'; // printing table row
echo '<td>'.$data['id'].'</td><td>'.$data['username'].'</td><td>'.$data['password'].'</td><td>'.$data['email'].'</td>'; // we are looping all data to be printed till last row in the table
echo'</tr>'; // closing table row
}

echo '</table>';  //closing table tag
?>

он напечатает таблицу следующим образом: просто читайте по строкам, чтобы вы могли легко понять это.

Ответ 7

<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
     border: 1px solid black;
}
</style>
</head>
<center>
<body>

<?php

$con = mysql_connect("localhost","root","");
mysql_select_db("rachna",$con);



$query = "SELECT SUM( Ivalue ) AS RESULT FROM loan WHERE cname = 'A' GROUP BY Iyear";
$result = mysql_query($query) or die(mysql_error());

if (mysql_num_rows($result) > 0) {
     echo "<table><tr><th></th><th>1999</th><th>2000</th><th>2001</th><th>2003</th></tr>";
     echo "<th>A</th>"; 

     //Code for A Customer-------------------------------------------
     while($row =mysql_fetch_array($result)) {
         echo "<th>" . $row['RESULT'] . "</th>";
         }

          echo"<tr></tr>";  

           //COde of B Customer--------------------------------------

         echo "<th>B</th>";
     $query = "SELECT SUM( Ivalue ) AS RESULT FROM loan WHERE cname = 'B' GROUP BY Iyear";
    $result1 = mysql_query($query) or die(mysql_error());


     while($row = mysql_fetch_array($result1)) {
         echo "<th> " . $row["RESULT"]. "</th>";
     }
     echo "</table>";
} else {
     echo "0 results";
}


?>  
</center>
</body>
</html>

Ответ 8

Вот простой способ получить данные из базы данных MySQL с помощью PDO.

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

try {       // << using Try/Catch() to catch errors!

$dbc = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset-utf8",DB_USER,DB_PASS);
}catch(PDOException $e){ echo $e->getMessage();}

if($dbc <> true){
    die("<p>There was an error</p>");
}

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

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

if($stmt->execute() <> 0)
{

    $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>{$names->firstname}</td>";
        $print .= "<td>{$names->lastname}</td>";
        $print .= '</tr>';
    }

    $print .= "</table>";
    echo $print;
}

Ответ 9

Стиль ООП:  Сначала соединение с базой данных.

<?php
class database
{

 public $host = "localhost";
 public $user = "root";
 public $pass = "";
 public $db   = "db";
 public $link;

 public function __construct()
 {
    $this->connect();
 }

 private function connect()
 {
   $this->link = new mysqli($this->host, $this->user, $this->pass, $this->db);
    return $this->link;
 }

 public function select($query)
 {
    $result = $this->link->query($query) or die($this->link->error.__LINE__);

    if($result->num_rows>0)
    {
      return $result;
    } 
    else 
    {
      return false;
    }
}
?>

Тогда:

    <?php
        $db = new database();

        $query = "select * from data";
        $result = $db->select($query);

        echo "<table>";
         echo "<tr>";
            echo "<th>Name </th>";
            echo "<th>Roll </th>";
         echo "</tr>";
         while($row = mysqli_fetch_array($result)) 
         {
            echo "<tr>";
            echo "<td> $row[name]</td>";
            echo "<td> $row[roll]</td>";
            echo "</tr>";
         }
       echo "</table>";
 ?>

Ответ 10

<div class="container" style="margin-top:2em;margin-bottom:33em;">
  <table border="1" class="table table-striped" style="margin-top: 2em;">
    <thead>
      <tr>
        <th>No.</th>
        <th>First Name</th>
        <th>Last Name</th>
      </tr>
    </thead>
    <tbody>
    <?php
    // ini_set('display_errors', 1);
    // ini_set('display_startup_errors', 1);
    // error_reporting(E_ALL);
    $servername="localhost";
    $username="jaipuror_order"; 
    $password="EEfaM?8$8tpy";
    //[email protected]#$%^&*(
    $db="jaipuror_order";

    $conn=mysqli_connect($servername,$username,$password,$db);
    //mysql_select_db($db);  
    if (!$conn) {
        echo "Error: Unable to connect to MySQL." . PHP_EOL;
        echo "Debugging errno: " . mysqli_connect_errno($conn) . PHP_EOL;
        echo "Debugging error: " . mysqli_connect_error($conn) . PHP_EOL;
        exit;
    }
    @session_start();
      $result = $conn->prepare("SELECT customer_id, first_name, last_name FROM customer");
      $result->execute();
      for($i=0; $row = $result->fetch(); $i++){
    ?>
      <tr>
        <td><label><?php echo $row['customer_id']; ?></label></td>
        <td><label><?php echo $row['first_name']; ?></label></td>
        <td><label><?php echo $row['last_name']; ?></label></td>
      </tr>
      <?php } ?>
    </tbody>
  </table>
</div>

Ответ 11

Конечно, лучшее решение было бы динамическим, чтобы оно работало для любого запроса без необходимости знать имена столбцов?

Если так, попробуйте это:

$query = $your_query;
echo '<table border="1">';
echo '<tr>';
foreach($query[0] as $key => $value) {
    echo '<td>';
    echo $key;
    echo '</td>';
}
echo '</tr>';
foreach($query as $row) {
    echo '<tr>';
    foreach($row as $column) {
        echo '<td>';
        echo $column;
        echo '</td>';
    }
    echo '</tr>';
}
echo '</table>';

Взято отсюда: https://www.antropy.co.uk/blog/handy-php-snippets/