Php 我试图从MySQL查询生成一个HTML表。以下是我试图从MySQL查询生成的表的格式:

Php 我试图从MySQL查询生成一个HTML表。以下是我试图从MySQL查询生成的表的格式:,php,html,mysql,Php,Html,Mysql,这是我的php脚本 |------------------ ------------------- -------------------| | Name 1 | Name 2 | Name 3 | |------------------| ------------------|-------------------| | IMAGE1 | IMAGE1 | IMAGE2 | IMAGE2 | IMAGE3 | IMAGE3

这是我的php脚本

|------------------ ------------------- -------------------|
|      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>';
    ?>
然后

echo';
$i=0;
对于($i=0;$i类似

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


错误:请添加更多错误检查,并按照其他人的建议查看PDO。

请。它们不再被维护,而是被维护。请了解,并使用。您的代码有什么问题?结果如何不正确?我们不知道问题是什么。您的问题是您的
$i==?
语句不太正确rcRT,你使用的是相同的<代码> $i/COD>内行和外行。因为你的SQL正在返回名称和IMAGE1和IMAGE2,那么你可能想立刻画出整个方块,为此你可能想在它自己的<代码> <代码>中同时考虑一个小表打印,然后每个<代码> $i % 3=0 < /CODE >添加开始/结束< COD >e>
标签改为更大的
@DaveGoten你能编辑我的代码吗?我真的很感谢你。
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>';
<?php 
include_once("abc.php");

$query=mysql_query("select * from dbts LIMIT 6");
$i  = 0;
echo '<table><tr>';
while ($sam=mysql_fetch_array($query)) {
    if ($i > 0 && $i % 3 == 0) { 
    // Theres a better way to do this, but its not coming to me right now...
        echo '</tr><tr>';
    }
    echo "
    <td>
        <table>
            <tr>
                <td colspan=\"2\">{$sam['name']}</td>
            </tr>
            <tr>
                <td>{$sam['image']}</td>
                <td>{$sam['image']}</td>
            </tr>
        </table>
    </td>";
    $i++;
}
echo '</tr></table>';
?>