更新:
我的 SQL 表中有十列:id,imgid,urlid,image1,image2,image3,image4,image5 和 comment。 Id,imgid 和 urlid 是 int 类型。图像[1]是中等型。网址和评论是文字类型。 Imgid 是上传的图片数量(应该是 5),urlid 是提交的网址数量(现在应该是 1),url 保存网址,注释保存用户评论。我想从一行中的图像列中检索并输出所有图像数据,但我得到了撕裂的页面图标。我使用 front.php 输出图像,使用 get.php 将图像转换为可视格式。
这是我的 front.php:
<?php
mysql_connect ("","","") or die(mysql_error());
mysql_select_db ("") or die(mysql_error());
$defaultqry = mysql_query ("SELECT * FROM dbp");
while($row = mysql_fetch_assoc($defaultqry))
{
echo ($row['image1'] != NULL) ? '<img src="get.php?id='.$row[id].'&col=1 " width="30" height="30"/> ' : '';
echo ($row['image2'] != NULL) ? '<img src="get.php?id='.$row[id].'&col=2 " width="30" height="30"/> ' : '';
echo ($row['image3'] != NULL) ? '<img src="get.php?id='.$row[id].'&col=3 " width="30" height="30"/> ' : '';
echo ($row['image4'] != NULL) ? '<img src="get.php?id='.$row[id].'&col=4 " width="30" height="30"/> ' : '';
echo ($row['image5'] != NULL) ? '<img src="get.php?id='.$row[id].'&col=5 " width="30" height="30"/> ' : '';
}
?>
这是我的 get.php:
<?php
mysql_connect ("","","") or die(mysql_error());
mysql_select_db ("") or die(mysql_error());
$query = mysql_query("SELECT * FROM dbp WHERE id = ".mysql_real_escape_string($_GET['id']));
$row = mysql_fetch_array($query);
$col = intval($_GET['col']);
if(isset($row['image'.$col]) && $row['iamge'.$col] != NULL){
$content = $row['image'.$col];
}else{
exit; // col is not existent, or image is empty
}
header('Content-type: image/jpg');
echo $content;
exit;
?>
1 回答
首先,您使用 DATAbase,将数据存储在其中而不是文件中。 (您应该将 link/path 存储到数据库中的文件而不是图像本身,这只会炸毁您的数据库并使其变慢)请参阅在 DB 中存储图像 - 是还是不?以获取有关此主题的更多信息。
但如果你想这样做,那么你将必须输出行的 id 和列标识符,如:
在你的 get.php: