MySQLにデータベースがあり、SQLテーブルの1つをHTMLまたはPHPテーブルに表示したいと思います。オンラインで検索しましたが、この機能を実装できません。誰かがコーディングを手伝ってくれませんか?
database = 'hrmwaitrose'
username = 'root'
host = 'localhost'
パスワードはありません。
「従業員」テーブルのデータを表示したいと思います。
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>" . htmlspecialchars($row['name']) . "</td><td>" . htmlspecialchars($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改良の略です。それはより良い範囲の機能を提供します。また、もう少し複雑であることに気づきます。それはあなたが必要とするものに依存します。
「mysql_fetch_array」はPHP5.5.0以降非推奨になり、PHP7.0.0で削除されたことに注意してください。したがって、代わりに「mysqli_fetch_array()」を確認してください。
これは、各列名を入力せずに表形式のデータを表示するために作成した単純な関数です:(また、注意:ネストされたループ)
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の場合、列ヘッダーのみが書き込まれ、$key0を含むデータも書き込まれません。したがって、配列の最初のデータセットは常に欠落しています。
次のように、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;
}
よろしくお願いいたします-AxelArnoldBangert-Herzogenrath 2016
また、コードの保守性を損なう冗長なコードブロックを削除する別の更新。
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;
}
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);
?>
マニュアル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();
?>