我喜欢从数据库中显示图像。我有这样的代码:
// Get image
$image = "SELECT * FROM ".TABLE_PREFIX."mod_img WHERE section_id = '$section_id' ORDER BY number ASC";
$get_img = $database->query($image);
$img = $get_img->fetchRow();
//build images
function tampil($str){
$arr = explode('-',trim($str));
return $arr[0];
}
$imglist = '';
$curdir = $section_id."/";
if($img) {
foreach($img as $im){
$imglist .= '<div style="float:left; align="center";"><img style="margin:03px;" src="'.$baseurl.$curdir.'thumbs/'.$im['name'].'" alt="'.$baseurl.$curdir.$im['name'].'" title="'.$baseurl.$curdir.$im['number'].'"><figcaption><center>IMG '.$im['number'].'</center></figcaption></div>';
}
}
else{
$imglist .= '<i>No image yet</i>';
}
但它不起作用并且有警告:
Warning: Illegal string offset 'name' in C:\xampp\htdocs\wb\modules\pagina_toevoegen\modify.php on line 81
..................
..................
请帮助我,抱歉我是编程新手。
当我没有使用foreach
循环时,它可以工作,但只显示一个图像。
答案 0 :(得分:0)
在代码周围添加while循环并相应地修复其余代码。
while ($img = $get_img->fetchRow()) {
}
在你的情况下
$img = $get_img->fetchRow();
只获取一行而你没有看到其余的rcords