web-dev-qa-db-ja.com

SQLデータベースのデータをphp / htmlテーブルに表示する

OK phpmyadmin(sql)にデータベースがあり、HTML/PHPのテーブルに自分のテーブルの1つを表示したい。私はオンラインで検索したが、この機能を実装できないので、誰かがこのコーディングを手伝ってくれるかどうか疑問に思っていますか?

database = 'hrmwaitrose'
username = 'root'
Host = 'localhost'

いいえPW

テーブル名employeeのデータを表示したい

18
user2108411

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ループ(結果行に遭遇するたびに実行されます)では、エコーを実行して新しいテーブル行を作成します。また、フィールドを含めるためにを追加します。

これは非常に基本的なテンプレートです。 mysql_connectの代わりにmysqli_connectを使用して、他の回答が表示されます。 mysqliはmysqlの略です。より良い機能の範囲を提供します。また、もう少し複雑です。必要なものに依存します。

41
Jacob Valenta

以下は、各列名を入力せずに表形式のデータを表示するために書いた簡単な関数です:(注意:ネストされたループ)

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

以下の更新された機能

こんにちはジャック、

関数の設計は問題ありませんが、この関数は常に配列の最初のデータセットを見逃しています。私はそれをテストしました。

関数は非常に優れているため、多くの人が使用しますが、常に最初のデータセットを見逃します。それが私がこの修正を書いた理由です。

Key === 0の場合、欠落データセットは条件から生じます。key= 0の場合、列ヘッダーのみが書き込まれますが、$ key 0を含むデータも書き込まれません。そのため、常に配列の最初のデータセットが欠落しています。

これを回避するには、次のようにif条件を2番目の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

5
Jack Nicholson

マニュアルをご覧ください 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();
?>
3
ka_lin

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);
?>
2
prakashchhetri