使用PHP在三列html表中显示MySql表的三条记录

时间:2014-12-18 10:42:06

标签: php mysql while-loop

我需要使用php在三个不同的列中显示MySql表的三条记录。我的查询是

SELECT * FROM TABLE1 WHERE Id IN(1,2,3)

我想在此处显示结果 enter image description here

我怎样才能为它写LOOP?比如

while(loop condition)
{
//what will go here?

}

UPDATE:第一行字段将显示在html表的第一列中,第二行记录字段将显示在第二列中,依此类推......我不是只要求显示三条记录

3 个答案:

答案 0 :(得分:0)

循环使用它们的一种方法是foreach()

假设您的结果在$results数组中:

foreach($results as $result) {
   //create your table
   $result['id']; //has the item id
   $result['title']; //has item title
   //and so on...
}

HERE是一个很好的循环浏览mysql结果集的教程:D(W3Schools)

另一个HERE

要为评论提供答案,您必须了解HTML表的工作原理...
<tr> =表格行 <td> =表格数据

你要的是一个完整的源代码,这不是那个地方,我们不为你做你的工作,但如果你想,你将不得不付我:)我不确定你是否同意用这个:))

HERE是一个很好且易于理解的HTML表格教程。

答案 1 :(得分:0)

OP说,这不是那么简单。但确实如此。

所以,你有2种方法可以做到。

首先。在这种情况下,您将在3列上循环。获取第一行。这将所有数据放入div中。班级名称为column_1。为另一个做它3.然后将div向左移动。

$i = 1;
while($row = $db->fetch_row()) {
    ?>
<div class="column_<?php echo $i; ?>">
    <div class="picture">
        <?php echo $row["image"]; ?>
    </div>
    <div class="description">
        <?php echo $row["desc"]; ?>
    </div>
    ... and so on...

</div>
<?php
    $i++;
}

第二个,当你第一次收集有关3行的数据时,然后逐行将它们放入一个表中。

<?php
    while($row = $db->fetch_row()) {
        $results[] = $row;
    }
?>
<table>
    <tr>
        <td><?php echo $result[0]['image'] ?></td>
        <td><?php echo $result[1]['image'] ?></td>
        <td><?php echo $result[2]['image'] ?></td>
    </tr>
    <tr>
        <td><?php echo $result[0]['desc'] ?></td>
        <td><?php echo $result[1]['desc'] ?></td>
        <td><?php echo $result[2]['desc'] ?></td>
    </tr>

</table>

修改

我忘记了,还有第三种解决方案。您可以将表构建为空,然后可以使用jQuery调用ajax来更新单元格。

答案 2 :(得分:-1)

while ($data=mysql_fetch_array($rs)) {

}