php - 我正在尝试从 MySQL 查询生成一个 HTML 表。这是我试图从 MySQL 查询 : 生成的表的格式

标签 php html mysql

|------------------ ------------------- -------------------|
|      Name 1      |      Name 2       |     Name 3        |
|------------------| ------------------|-------------------|
| IMAGE1 | IMAGE1  |   IMAGE2 | IMAGE2 | IMAGE3 | IMAGE3   |  
|----------------- | ------------------|-------------------|
|      Name 4      |      Name 5       |     Name 6        |
|------------------| ------------------|-------------------|
| IMAGE4 | IMAGE4  |   IMAGE5 | IMAGE5 | IMAGE6 | IMAGE6   |  
|----------------- | ------------------|-------------------|

这是我的php脚本

    <?php
    include_once("abc.php");

    $query=mysql_query("select * from dbts LIMIT 6");
    echo'<table>';
    $i=0;
    while($sam=mysql_fetch_array($query))
    {
    $image = $sam['image'];
    $name= $sam['name'];


    if($i==0) 
       {
       echo '<tr>';
       }  

    echo '<td width=180 border=1 COLSPAN=2>'; print"$name"; echo '</td>';
      if($i==2)
        {
     echo '</tr>';
        $i=-1;
        }
      $i++;


    if($i==0) 
       {
       echo '<tr>';
       }  
    echo '<td width=90>'; print"<img src=$image width=90 height=100/>"; echo '</td>';
    echo '<td width=90>'; print"<img src=$image width=90 height=100/>"; echo '</td>';
      if($i==2)
        {
     echo '</tr>';
        $i=-1;
        }
      $i++;
    }
    echo '</table>';
    ?>

上面是我想要的 php 表格,你能帮我理解我在代码上做错了什么并指出正确的方向吗?或者请根据我的上表更正我的代码。

最佳答案

首先你必须将查询转换为数组

include_once("abc.php");

$query = mysql_query('select * from dbts LIMIT 6');
$db = array();
while($row = mysql_fetch_array($query))
    $db[] = $row;

然后

echo'<table>';
$i=0;
for($i = 0; $i <= count($db); $i+=3){
    echo '<tr>';
    for($j = $i; $j < $i + 3; $j++)
        if(isset($db[$j]))
            echo '<td width="180" border="1" COLSPAN="2">' . $db[$j]['name'] . '</td>';
    echo '</tr>';

    echo '<tr>';
    for($j = $i; $j < $i + 3; $j++){
        if(isset($db[$j])){
            echo '<td width="90">' . $db[$j]['image'] . '</td>';
            echo '<td width="90">' . $db[$j]['image'] . '</td>';
        }
    }
    echo '</tr>';
    echo $i;
}
echo '</table>';

我使用 if(isset($db[$j])) 来确保这段代码可以工作,但是如果你知道你的数据库中有 6 行,你就不必使用它

关于php - 我正在尝试从 MySQL 查询生成一个 HTML 表。这是我试图从 MySQL 查询 : 生成的表的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28072225/

相关文章:

javascript - 尝试实现 javascript 弹出窗口

php - 如果我不绑定(bind),则查询有效,但当我绑定(bind)时,查询会失败。我的错误在哪里?

html - 如何整洁地从 HTML 中删除所有属性和类?

php - 如何处理流明中的 And Where 和 Or Where 条件?

html - 使用 Bootstrap 在网站上调整按钮大小

mysql - 如何修复 "Coult not find Id property. Be sure the accessor method name matches the veriable name"错误

mysql - hibernate如何使用hql创建内部连接

php - 通知: Array to string conversion

javascript - 当不显示 div 时,忘记这个 css 规则

php - 如何使用条件 PHP 在单击时运行 SQL 查询?