1

我在理解 mysql 表 -> 数组 -> 循环 -> 使用 php 打印查询方面遇到了严重问题。

我想将 mysql 表 ECHO 到带有标题的 html 表(html,而不是 mysql)。COLUMN 'header' 将显示为:

<tr><th>header</th><th>header</th><th>header</th><th>header</th></tr>

和 COLUMN 'field' 为:

<tr><td>field</td><td>field</td><td>field</td><td>field</td></tr>
<tr><td>field</td><td>field</td><td>field</td><td>field</td></tr>
<tr><td>field</td><td>field</td><td>field</td><td>field</td></tr>
<tr><td>field</td><td>field</td><td>field</td><td>field</td></tr>

问题是:如何通过这样的查询(或如何进行这样的查询)循环到 ECHO 标题作为 mysql 表列和循环字段?

也许这会有所帮助:

`id` int(8) NOT NULL AUTO_INCREMENT,
`section_id` int(8) NOT NULL DEFAULT '0',
`header` varchar(64) NOT NULL,
`position` int(2) NOT NULL,
`field` varchar(16) NOT NULL,
`sorting` int(1) NOT NULL,
`visible` int(1) NOT NULL,
`width` int(3) NOT NULL,
PRIMARY KEY (`id`)

我在这一点上:

<table>
<?php
$gsh = mysqli_query( $connector, "SELECT header, width FROM crm_sections_fields WHERE section_id='$sectionID' ORDER BY position ASC");
if(!$gsh) { MessageView('111'); }
else {
?>
<tr>
<?php while($h = mysqli_fetch_array($gsh))
{
 echo "<th width=".$h['width'].">".$h['header']."</th>";
}
?> </tr> <?php
}
///////// NOW IT SHOULD LOOP THROUGH ROWS
</table>
4

4 回答 4

0

像这样试试。

<table>
<tr><td>Id</td><td>Data</td></tr>
<?
$Sql = mysql_query("SELECT * FROM `YOURTABLE`");
while($dataSQL = mysql_fetch_array($Sql)){
?>
<tr><td><?=$dataSQL[id];?></td><td><?=$dataSQL[field];?></td></tr>
<?
}
?>
</table>
于 2013-05-02T09:36:16.357 回答
0

尝试:

<html>
<body>
<table>
<?php
  $que = $dbh->query('SELECT * FROM TABLE');
  $header=false;
  while ($row = $que->fetch()) {
    if($header===false){
      echo '<tr><td>'. implode('</td><td>',array_keys($row)) . '</td></tr>';
      $header=true;
    }
    echo '<tr><td>'. implode('</td><td>',$row) . '</td></tr>';
  }
?>
</table>
</body>
</html>

这假设您正在使用PDO 接口来访问您的数据库,因为您应该使用它,mysql_query并且它的同类产品已被弃用。

于 2013-08-11T20:43:11.043 回答
0

据我了解,您想知道如何动态显示标题?如果您不想明确提及 HTML 表中的列名,您可以在这里查看我的答案:Editing table data within PHP after add a new column to MYSQL table

于 2013-05-02T09:44:55.733 回答
0
<table>
<?php
$gsh = mysqli_query( $connector, "SELECT header, width FROM crm_sections_fields WHERE section_id='$sectionID' ORDER BY position ASC");
if(!$gsh) { MessageView('111'); }
else {
?>
<tr>
<?php while($h = mysqli_fetch_array($gsh))
{
 echo "<th width=".$h['width'].">".$h['header']."</th>";
}
?> </tr>

after this

<?php
//here place you query and loop though as above and print the data in tr td instead of th above use td

?>
</table>
于 2013-08-11T20:52:40.367 回答