Отображать данные из базы данных SQL в таблицу php/html - программирование
Подтвердить что ты не робот

Отображать данные из базы данных SQL в таблицу php/html

ОК У меня есть база данных на phpmyadmin (sql), и я хочу отобразить одну из моих таблиц в таблице на HTML/PHP. Я искал в Интернете и не могу реализовать эту функцию, поэтому мне интересно, может ли кто-нибудь помочь мне с этим кодом?

database = 'hrmwaitrose'
username = 'root'
host = 'localhost'

НЕТ PW

Я хотел бы отобразить данные из имени таблицы employee

4b9b3361

Ответ 1

Вы говорите, что у вас есть база данных на PhpMyAdmin, поэтому вы используете MySQL. PHP предоставляет функции для подключения к базе данных MySQL.

$connection = mysql_connect('localhost', 'root', ''); //The Blank string is the password
mysql_select_db('hrmwaitrose');

$query = "SELECT * FROM employee"; //You don't need a ; like you do in SQL
$result = mysql_query($query);

echo "<table>"; // start a table tag in the HTML

while($row = mysql_fetch_array($result)){   //Creates a loop to loop through results
echo "<tr><td>" . $row['name'] . "</td><td>" . $row['age'] . "</td></tr>";  //$row['index'] the index here is a field name
}

echo "</table>"; //Close the table in HTML

mysql_close(); //Make sure to close out the database connection

В цикле while (который запускается каждый раз, когда мы сталкиваемся с результирующей строкой), мы эхо, который создает новую строку таблицы. Я также добавляю a, чтобы содержать поля.

Это очень простой шаблон. Вы видите другие ответы, используя mysqli_connect вместо mysql_connect. mysqli поддерживает mysql. Он предлагает лучший набор функций. Вы заметили, что это также немного сложнее. Это зависит от того, что вам нужно.

Ответ 2

Здесь простая функция, которую я написал для отображения табличных данных без ввода каждого имени столбца: (Кроме того, помните: вложенный цикл)

function display_data($data) {
    $output = '<table>';
    foreach($data as $key => $var) {
        $output .= '<tr>';
        foreach($var as $k => $v) {
            if ($key === 0) {
                $output .= '<td><strong>' . $k . '</strong></td>';
            } else {
                $output .= '<td>' . $v . '</td>';
            }
        }
        $output .= '</tr>';
    }
    $output .= '</table>';
    echo $output;
}

ОБНОВЛЕННАЯ ФУНКЦИЯ НИЖЕ

Привет Джек,

ваш дизайн функции прекрасен, но эта функция всегда пропускает первый набор данных в массиве. Я проверил это.

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

Отсутствующий набор данных возникает из условия, если ключ === 0. Если key = 0, то записываются только заголовки столбцов, но не данные, которые содержат $key 0. Таким образом, всегда отсутствует первый набор данных массива.

Вы можете избежать этого, переместив условие if выше второго цикла foreach следующим образом:

function display_data($data) {
    $output = "<table>";
    foreach($data as $key => $var) {
        //$output .= '<tr>';
        if($key===0) {
            $output .= '<tr>';
            foreach($var as $col => $val) {
                $output .= "<td>" . $col . '</td>';
            }
            $output .= '</tr>';
            foreach($var as $col => $val) {
                $output .= '<td>' . $val . '</td>';
            }
            $output .= '</tr>';
        }
        else {
            $output .= '<tr>';
            foreach($var as $col => $val) {
                $output .= '<td>' . $val . '</td>';
            }
            $output .= '</tr>';
        }
    }
    $output .= '</table>';
    echo $output;
}

С наилучшими пожеланиями и благодарностями - Аксель Арнольд Бэнгерт - Герцогенрат 2016

Ответ 3

Посмотрите в руководстве http://www.php.net/manual/en/mysqli.query.php

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

/* Create table doesn't return a resultset */
if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", $result->num_rows);

    /* free result set */
    $result->close();
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!$mysqli->query("SET @a:='this will not work'")) {
        printf("Error: %s\n", $mysqli->error);
    }
    $result->close();
}

$mysqli->close();
?>

Ответ 4

обратитесь к http://www.w3schools.com/php/php_mysql_select.asp. Если вы новичок и хотите учиться, w3schools - хорошее место.

<?php
    $con=mysqli_connect("localhost","root","YOUR_PHPMYADMIN_PASSWORD","hrmwaitrose");
    // Check connection
    if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }

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

    while($row = mysqli_fetch_array($result))
      {
      echo $row['FirstName'] . " " . $row['LastName']; //these are the fields that you have stored in your database table employee
      echo "<br />";
      }

    mysqli_close($con);
    ?>

Аналогично echo он находится внутри вашей таблицы

<?php
 echo "<table>";
 while($row = mysqli_fetch_array($result))
          {
          echo "<tr><td>" . $row['FirstName'] . "</td><td> " . $row['LastName'] . "</td></tr>"; //these are the fields that you have stored in your database table employee
          }
 echo "</table>";
 mysqli_close($con);
?>

Ответ 5

$connection = mysql_connect('localhost', 'root', ''); //The Blank string is the password
mysql_select_db('hrmwaitrose');

$query = "SELECT * FROM employee"; //You don't need a ; like you do in SQL
$result = mysql_query($query);

echo "<table>"; // start a table tag in the HTML

while($row = mysql_fetch_array($result)){   //Creates a loop to loop through results
echo "<tr><td>" . $row['name'] . "</td><td>" . $row['age'] . "</td></tr>";  //$row['index'] the index here is a field name
}

echo "</table>"; //Close the table in HTML

mysql_close(); //Make sure to