10/10/2018, 09:46

load hình ảnh từ CSDL phpMyAdmin lên web

chuyện là thế này, mình đang viết một trang php để giới thiệu sản phẩm, nhưng không biết làm cách nào để load hình ảnh từ CSDL lên dc hết. các bạn ai biết có thể chỉ dùm mình cái code với ! cảm ơn các bạn nhiều
luckyluck viết 11:47 ngày 10/10/2018
Trong CSDL bạn chỉ lưu link đến ảnh thôi. Muốn xuất ra thì kết nối CSDL, lấy thông tin link ảnh đưa vào thẻ IMG.

Code:
$query = "SELECT link_img FORM tbl_product WHERE id = '$id'";
$result = mysql_query($query, $connect);
$row = mysql_fetch_array($result);
echo '<img src='.$row['link_img'].' />';
lovestormknx viết 11:52 ngày 10/10/2018
Hic, nếu bạn đã lưu và lấy được data sản phẩm thì sao lại không lấy được hình, bạn lưu hình dạng link hay binary
khanhromeo viết 11:54 ngày 10/10/2018
cảm ơn các bạn nhiều nha!!
mình lưu hình dạng binary!khi xuất ra thì ra toàn ký tự gì ko ah, chứ ko phải hình!hiii
nếu làm theo kiểu của bạn lucky thì mình nhập lại CSDL ah, mà nhập lại cũng dc,nhưng nhập link hình là nhập đường dẫn hay là tên hình thôi!!
chỉ dùm mình với!! hi
bka viết 11:51 ngày 10/10/2018
Được gửi bởi khanhromeo
cảm ơn các bạn nhiều nha!!
mình lưu hình dạng binary!khi xuất ra thì ra toàn ký tự gì ko ah, chứ ko phải hình!hiii
nếu làm theo kiểu của bạn lucky thì mình nhập lại CSDL ah, mà nhập lại cũng dc,nhưng nhập link hình là nhập đường dẫn hay là tên hình thôi!!
chỉ dùm mình với!! hi
làm ơn cho đoạn này vào
Code:
        header('Content-Type: image/jpeg');
	header('Content-Transfer-Encoding: binary');
	echo $row['images']; // echo dữ liệu ảnh ở đây
	exit();
lưu ý: trước header đừng echo hay print cái gì ra nha.
lovestormknx viết 11:53 ngày 10/10/2018
Nếu ko lưu binary tốt nhất bạn nên chỉ lưu tên hình thôi, nếu như có nhiều module và bạn lưu hình ở nhiều thư mục thì có thể tùy biến lưu thêm tên thư mục nữa, đừng lưu đường dẫn tuyệt đối, sau này có chuyển web đi đâu thì đuối đó!

Lưu binary thì CSDL nó nặng, bất tiện khi backup hoặc restore
khanhromeo viết 11:49 ngày 10/10/2018
cảm ơn các bạn rất nhiều nha!
nhưng mình làm như bạn bka nhưng vẫn load ra ko dc, vì mìh muốn hiển thị nhiều table, chứ ko phải một table hình ảnh.
đoạn code của mình nè! bạn nào biết chỉ dùm mình với. cảm ơn các bạn nhiều hen
<?php
$text="";
require("admin/ham.php");
if(isset($HTTP_POST_VARS["ten"]))
{
$text=$HTTP_POST_VARS["ten"];
}
ketnoi();
$conn = @mysql_connect('localhost','root','') or die('Could not connect: ' . mysql_error());
if(!@mysql_select_db('qlch-dtdd',$conn)) die();
mysql_query("SET NAMES 'utf8'", $conn);
$chon="select * from dienthoai where tendt='".$text."'";
$kw=mysql_query($chon) or die("query failed:".mysql_error());
header('Content-Type: image/jpeg');
header('Content-Transfer-Encoding: binary');
echo " Kết Quả Tìm Kiếm";
echo"<br>";
echo "<table border=1 align=center >";
echo "<TR>";
echo " <td> Mã Điện Thoại</td><td> Tên Điện Thoại</td><td> Hình</td><td> Giá Bán</td><td> Khuyến Mãi</td>";
echo "</TR>";


while ($row=mysql_fetch_array($kw))
{
echo "<TR>";

echo "<TD> ".$row['msdienthoai'] ."</TD>". "<TD> ". $row['tendt'] . "</TD> "."<TD> ".$row['hinh']. "</TD> <TD>" .$row['giaban']." </TD><TD>" .$row['khuyenmai']."</TD>";

echo "</TR>";
}
echo "</TABLE>";
exit();
dong(ketnoi());

?>
Nếu làm theo bạn lovestormknx thì sẽ làm như thế nào. bạn có thể chỉ dùm mình dc ko!
cảm ơn các bạn rất nhiều nha!
bka viết 11:47 ngày 10/10/2018
nói chung là làm như cậu mà đc tôi làm con cậu luôn

tạo file loadImage.php có code như sau
Code:
<?php
$text="";
require("admin/ham.php");
$text=$_GET['text'];
ketnoi();
$conn = @mysql_connect('localhost','root','') or die('Could not connect: ' . mysql_error());
if(!@mysql_select_db('qlch-dtdd',$conn)) die();
$chon="select * from dienthoai where tendt='".$text."' LIMIT 1";
$kw=mysql_query($chon) or die("query failed:".mysql_error());
header('Content-Type: image/jpeg');
header('Content-Transfer-Encoding: binary');

while ($row=mysql_fetch_array($kw))
{

echo  $row['hinh'];

}
exit();

?>
thay đổi đoạn code của bạn thành như sau

Code:
<?php
$text="";
require("admin/ham.php");
if(isset($HTTP_POST_VARS["ten"]))
{
$text=$HTTP_POST_VARS["ten"];
}
ketnoi();
$conn = @mysql_connect('localhost','root','') or die('Could not connect: ' . mysql_error());
if(!@mysql_select_db('qlch-dtdd',$conn)) die();
mysql_query("SET NAMES 'utf8'", $conn);
$chon="select * from dienthoai where tendt='".$text."'";
$kw=mysql_query($chon) or die("query failed:".mysql_error());
header('Content-Type: image/jpeg');
header('Content-Transfer-Encoding: binary');
echo " Kết Quả Tìm Kiếm";
echo"<br>";
echo "<table border=1 align=center >";
echo "<TR>";
echo " <td> Mã Điện Thoại</td><td> Tên Điện Thoại</td><td> Hình</td><td> Giá Bán</td><td> Khuyến Mãi</td>";
echo "</TR>";


while ($row=mysql_fetch_array($kw))
{
echo "<TR>";

echo "<TD> ".$row['msdienthoai'] ."</TD>". "<TD> ". $row['tendt'] . "</TD> "."<TD><img src='loadImage.php?text=".$text."'></TD> <TD>" .$row['giaban']." </TD><TD>" .$row['khuyenmai']."</TD>";

echo "</TR>";
}
echo "</TABLE>";
exit();
dong(ketnoi());

?>
nhớ là file loadImage.php đặt cùng thư mục với file này luôn đó.
thế là ok. cố gắng học tốt nha
vitnuce viết 12:02 ngày 10/10/2018
Lưu ảnh vào db sau backup hoặc restore rất dễ lỗi. Nên tốt nhất là luu lên host!
khanhromeo viết 11:53 ngày 10/10/2018
hiiii!!
cảm ơn bạn bka và các bạn rất nhiều nha,hiii
nhưng hình mình chạy mà nó ko hiểu 2 cái dòng chuyển đổi.để mò thử, hiii

header('Content-Type: image/jpeg');
header('Content-Transfer-Encoding: binary');

cảm ơn rất rất nhiều hen, có ở quận 9 ko, mình đa tạ, hiii
còn cái Tooltip có ai biết về cái này ko!!hiii
Bài liên quan
0