在为朋友建立网站时,数据库有一行包含39个图像字段。 在该字段中是图像的名称(例如“my_image.jpg”)而不是图像本身(BLOB)。 即:image_01,image_02,image_03等。
我有PHP生成while循环并获取信息没有问题。 我正在尝试将所有图像放到一个数组中,这样我就可以将这一行中的图片显示为一个图库。
我希望有人可以为我提供前进的方法,因为我尝试过没有成功。
来自while循环的:
$MEDIA_IMAGE_00 = $row["MEDIA_IMAGE_00"];
$MEDIA_IMAGE_01 = $row["MEDIA_IMAGE_01"];
$MEDIA_IMAGE_02 = $row["MEDIA_IMAGE_02"];
我需要回声为
["propimages/$MEDIA_IMAGE_00", "", "", "$MEDIA_IMAGE_TEXT_00"],
["propimages/$MEDIA_IMAGE_01", "", "", "$MEDIA_IMAGE_TEXT_01"],
["propimages/$MEDIA_IMAGE_02", "", "", "$MEDIA_IMAGE_TEXT_02"]
让他们在画廊中展示。
编辑:
while($row = mysql_fetch_array($sqlSearch)){
$propid = $row["propid"];
$MEDIA_IMAGE_00 = $row["MEDIA_IMAGE_00"];
$MEDIA_IMAGE_01 = $row["MEDIA_IMAGE_01"];
$MEDIA_IMAGE_02 = $row["MEDIA_IMAGE_02"];
$MEDIA_IMAGE_33 = $row["MEDIA_IMAGE_33"];
$MEDIA_IMAGE_34 = $row["MEDIA_IMAGE_34"];
$MEDIA_IMAGE_35 = $row["MEDIA_IMAGE_35"];
}
答案 0 :(得分:1)
我假设$propid
标识行本身,并且'MEDIA_IMAGE_TEXT'在同一行中可用:
$properties = array();
while ($row = mysql_fetch_array($sqlSearch)) {
$propid = $row["propid"];
$images = array();
for ($i = 0; $i <= 35; ++$i) {
$imageId = "MEDIA_IMAGE_" . str_pad($i, 2, '0', STR_PAD_LEFT);
if ($row[$imageId]) {
$images[] = array(
$row[$imageId],
'',
'',
$row["MEDIA_IMAGE_TEXT_" . str_pad($i, 2, '0', STR_PAD_LEFT)],
);
}
}
$properties[] = array(
'id' => $propid,
'images' => $images,
);
echo json_encode($properties);
它生成一个属性列表,每个属性都有一个id和一个图像数组;每个图像包括位置(我猜)和标题/描述。
答案 1 :(得分:0)
为什么不在while循环中构建一个图像数组?
$images = array()
$i = 0;
While(...) {
$images[] = $row["MEDIA_IMAGE_0$i"];
$i++;
[...]
}
你得到一个你可以在foreach中使用的数组并显示你的行。根据应该有效的原则,我认为;)