将数据从 SQL 数据库显示到 php/html 表中 [已关闭]
我在MySQL上有一个数据库,我想在HTML或PHP表上显示我的一个SQL表。我已在线搜索,无法实现此功能。有人可以帮我编码吗?
database = 'hrmwaitrose'
username = 'root'
host = 'localhost'
没有密码。
我想显示“员工”表中的数据。
我在MySQL上有一个数据库,我想在HTML或PHP表上显示我的一个SQL表。我已在线搜索,无法实现此功能。有人可以帮我编码吗?
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 循环(每次遇到结果行时都会运行)中,我们回显,这将创建一个新的表行。我还添加了一个来包含字段。
这是一个非常基本的模板。您会看到其他答案使用mysqli_connect而不是mysql_connect。mysqli 代表 mysql 改进。它提供了更好的功能范围。你注意到它也有点复杂。这取决于您的需求。
请注意,自 PHP 5.5.0 起,“mysql_fetch_array”现已弃用,并且在 PHP 7.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;
}
嗨杰克,
您的函数设计很好,但此函数总是错过数组中的第一个数据集。我测试了一下。
你的函数非常好,很多人会使用它,但他们总是会错过第一个数据集。这就是我写这个修正案的原因。
缺少的数据集由条件 if key === 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
以及另一个删除冗余代码块的更新,这些代码块会损害代码的可维护性。
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;
}