簡體   English   中英

如何使用 php 和 mysql 從多列中檢索和 output 圖像?

[英]how to retrieve and output images from multiple columns with php and mysql?

更新:

我的 SQL 表中有十列:id、imgid、urlid、image1、image2、image3、image4、image5 和評論。 Id、imgid 和 urlid 是 int 類型。 圖像[1-5] 是中等大小的類型。 Url 和注釋是文本類型。 Imgid 是上傳的圖片數量(應該是 5 個),urlid 是提交的 url 數量(現在應該是一個),url 持有 url,comment 持有用戶評論。 我想從一行中的圖像列中檢索 output 的所有圖像數據,但我的頁面圖標被撕毀了。 我正在使用 front.php 到 output 圖像和 get.php 將圖像轉換為可查看格式。

這是我的前面。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;




?>

首先,您使用 DATAbase,在其中存儲數據而不是文件。 (您應該將文件的鏈接/路徑存儲在數據庫中而不是圖像本身,這只會炸毀您的數據庫並使其變慢)請參閱 在數據庫中存儲圖像 - 是還是不是? 有關此主題的更多信息。

但如果你想這樣做,那么你將不得不 output 行的 id 和列標識符,如:

echo ($row['image1'] != NULL) ? '<img src="get.php?id='.$row['id'].'&col=1 " width="30" height="30"/> ' : '';

在你的 get.php 中:

mysql_connect ("localhost","","") 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['image'.$col] != NULL){
    $content = $row['image'.$col];
}else{
    exit; // col is not existent, or image is empty
}

header('Content-type: image/jpg');
echo $content;
exit;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM