如何在MySql

时间:2015-08-27 23:10:41

标签: php html mysql database

我想循环遍历mysql表中的每个结果,并为每行生成html div。数据库表如下所示:

--------------------------------
  id   |  color  | width | img
--------------------------------
   1   |  red    |  550  | url
--------------------------------
   2   |  black  |  650  | url
--------------------------------

我知道这可能如何工作但不确定语法。以下是我的尝试。

<?php
// connect to the database

$rows = // get rows from the db table

foreach ($rows) {
<div style="background-color:$color;width:$width;">
    <img src="$img">
</div>
}

3 个答案:

答案 0 :(得分:1)

foreach($result as $key=>$val){
     var_dump($val) ;
}

你可以试试;你必须确定mysql $ row是数组!

答案 1 :(得分:1)

这是一个简单查询的简单示例。

<?php

$mysqli = new mysqli("db_host", "db_user", "db_password", "db_name");

// check connection
if ($mysqli->connect_errno) {
    die("Connect failed: ".$mysqli->connect_error);
}

$query = "SELECT * FROM imgs";
$result = $mysqli->query($query);

while($row = $result->fetch_array()){
echo '<div style="background-color:'.$row[color].';width:'.$row[width].';"><img src="'.$row[img].'"></div>';
}

答案 2 :(得分:1)

假设数据库的输出与$rows相同,您的代码应如下所示。显然,您可以改进echo语句的连接,。

<?php

$rows =  [
    'row1' => [
        'color' => 'red',
        'width' => '550px',
        'img' => 'http://www.google.com.au/images/srpr/logo11w.png'
    ],
    'row2' => [
        'color' => 'black',
        'width' => '650px',
        'img' => 'http://www.google.com.au/images/srpr/logo11w.png'
    ],
];

foreach ($rows as $key => $row) {
    $color = $row['color'];
    $image = $row['img'];
    $width = $row['width'];

    echo "<div style=\"background-color:$color;width:$width;\">";
    echo "<img src=\"$image\">";
    echo "</div>";
}

?>

这是一个有效的phpfiddle