我想循环遍历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>
}
答案 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