10/10/2018, 09:24

{Hỏi} Cách hiển thị ảnh từ database ( ASP )

Chào các bạn !
Mình có câu hỏi này muốn hỏi các bạn, hiện tại mình đang lập một trang web với mục đích là hiển thị ảnh từ database lên. Với điều kiện như sau,
trong data của mình có 1 bảng User trong bảng này có 2 trường là ID và Image. Khi người dùng nhập ID của mình vào thì nếu ID đó tồn tại trong database thì sẽ cho hiển thị toàn bộ ảnh của ID đó lên trang web.
Để làm được việc này thì phải làm ntn ???
Mong được sự chỉ bảo của các bạn.
Thanks !
nguyenvuong89 viết 11:24 ngày 10/10/2018
bạn select tên ảnh đó ra rùi cho vào thẻ img là được như thế này nè
nhớ kết nối tới CSDL rồi nhé
sql="select * from table_name"
record=cn.execute(sql);
<img src="image/<%=record("tên cột chứa tên ảnh trong database")%>">
thế này là ok luôn

[=========> Bổ sung bài viết <=========]

<%
//Tạo đối tượng kết nối
CN=Server.CreateObject("ADODB.Connection")
CN.ConnectionString="Provider=SQLOLEDB; Data source=NGUYENVUONG\\SQLEXPRESS; initial catalog=supermarket; user id=sa;password=123456"
// nếu chưa mở CSDL thì mở ra
if(CN.State==0)
CN.Open()
//Response.Write(CN.State);

//Tạo hàm đọc bảng
function doc_bang(sql)
{
var rs= Server.CreateObject("ADODB.Recordset")
rs.Open(sql,CN,1,1)// cho thuộc tính 3,3 mới có thể dùng được RecordCount
return rs
}
// tạo combo và truyền vào những tham số phù hợp
function tao_combo(tenbang,fieldvalue,fieldtext,namecbo)
{
//gọi hàm đọc bảng
var bang=doc_bang(tenbang)
var stcbo="<select style='width:305px' name=" + namecbo + " size=1 >"
stcbo+="<option value='null'>- - - - - - - - - - - - chọn một giá trị- - - - - - - - - - - -</option>"
while(!bang.EOF)//for(i=1;i<=bang.RecordCount;i++)
{
//bang.AbsolutePosition=i// vị trí của bản ghi = i
stcbo+="<option value=" + bang(fieldvalue) + ">" + bang(fieldtext) + "</option>"
bang.MoveNext()
}
stcbo+="</select>"
return stcbo
}
//lấy giá trị của trường truyền dữ liệu vào và tham số là câu lệnh SQL
function get_value_field(sql)
{
var rs= Server.CreateObject("ADODB.Recordset")
rs.Open(sql,CN)
return rs(0)
}
//tạo combo truyền tham số so sánh
function tao_combo(tenbang,fieldvalue,fieldtext,namecbo,com pare)
{
//gọi hàm đọc bảng
var bang=doc_bang(tenbang)
var stcbo="<select style='width:305px' name=" + namecbo + " size=1 >"
stcbo+="<option value='null'>- - - - - - - - - - - - chọn một giá trị- - - - - - - - - - - -</option>"
while(!bang.EOF)//for(i=1;i<=bang.RecordCount;i++)
{
//bang.AbsolutePosition=i// vị trí của bản ghi = i
if(bang(fieldvalue)==compare)
stcbo+="<option selected='selected' value=" + bang(fieldvalue) + ">" + bang(fieldtext) + "</option>"
else
stcbo+="<option value=" + bang(fieldvalue) + ">" + bang(fieldtext) + "</option>"
bang.MoveNext()
}
stcbo+="</select>"
return stcbo
}
%>

[=========> Bổ sung bài viết <=========]

gọi file kết nối vào chỉ việc dùng thôi nhé
ngochoan2006 viết 11:36 ngày 10/10/2018
Cảm ơn NguyenVuong89 đã trả lời mình.
Nhưng qua mình vẫn còn điểm này chưa hiểu :
Code trên của bạn là hiển thị thông qua Combo box.
Ý mình muốn là : Đầu tiên người sử dụng sẽ đăng nhập vào hệ thống thông qua User và Pass ( VD là file Default.asp,giá trị của 2 biến user và pass được chuyền sang file Login.asp nếu tên và pass tồn tại trong csdl thì cho chạy sang 1 file khác là hienthi.asp tại file này sẽ hiển thị toàn bộ các ảnh của user khi đăng nhập )
Code của trang default.asp và login.asp thì mình đã làm ok rồi. Nhưng code của trang hienthi.asp kia mình không làm được.
Mình đưa các file mã nguồn lên đây mong các bạn chỉ giúp mình nhé.
( Forum không cho upload !!! Mình up mãi mà không được. Các bạn tải về qua chỗ này vậy : http://www.2shared.com/file/4306928/...vd_online.html
Thanks !
nguyenvuong89 viết 11:29 ngày 10/10/2018
sql="select * from <tên bảng chứa ảnh>";
rs=doc_bang(sql);
while(!rs.EOF)
{
<img src="đường dẫn đến thư mục chứa ảnh/<%=rs("tên cột chứa ảnh")%>">
rs.MoveNext();
}
đó là ok rồi mà bạn chỉ nhập tên file ảnh vào CSDL thôi
đây là bài demo bạn download về tham khảo mình đang làm giở
http://www.2shared.com/file/4310061/...anMayTinh.html

[=========> Bổ sung bài viết <=========]

àh mà cái hàm đọc bảng bạn phải include file thư viện kết nối đặt tên là library.inc
sau đó gọi vào thì bạn mới dùng hàm doc_bang() được
<!--#include file="library.inc"-->
có gì ngày mai nói típ

[=========> Bổ sung bài viết <=========]

mà code bạn làm bằng VB thì mình bó tay rồi mình làm bằng ASP JavaScript cơ mình không rõ lắm về VB
ngochoan2006 viết 11:40 ngày 10/10/2018
Thanks.
Chờ bạn hướng dẫn tiếp đây.
ndmanh2002 viết 11:28 ngày 10/10/2018
trong trường ảnh nhập địa chỉ của tên ảnh. trong khi xuất ra đính kèm địa chỉ tên ảnh đó ra là được. căn chỉnh thêm sự xuất hiện nữa cho đẹp.
nguyenvuong89 viết 11:28 ngày 10/10/2018
bạn bảo chờ hướng dẫn không nói hướng dẫn gì thì mình bó tay
ngochoan2006 viết 11:40 ngày 10/10/2018
Nếu có thể bạn có thể viết cho mình code thực hiện các công việc sau :
+ Cho phép người dùng đăng nhập vào hệ thống hiển thị ảnh
kiểm tra nếu username và password có trong database thì ok cho chạy vào trang tiếp theo. ngược lại thông báo không có tên hoặc pass sai, quay lại màn hình đăng nhập
+ Tại trang hiển thị ảnh thì hiển thị toàn bộ các ảnh mà user đó có.
ĐK : tại database ( dạng mdb ) có 2 table lần lựot có tên Account và Image. Trong đó Account có 2 trường là Username và Password ( lưu tên và mật khẩu người dùng ). Bảng Image có 2 trường là Username và Image ( lưu tên người dùng và image của người đó. Lưu ý là tại bảng Account thì chỉ duy nhất là có 1 username, còn bảng Image thì có nhiều username trùng nhau vì 1 người dùng có thể có nhiều hơn 1 ảnh ).
Tóm lại là làm thế nào để hiển thị toàn bộ số ảnh của 1 người có trong database ???
Thanks!
nguyenhanh22 viết 11:27 ngày 10/10/2018
Bàn phím của mình không gõ dược số(gõ số 1 thì ra chử ă)có ai biêt không chỉ giùm với?
suutamcongnghe viết 11:34 ngày 10/10/2018
Bạn nguyenvuong89 chỉ cũng khá cụ thể rồi. Giờ cụ thể với bạn thì chỉnh như sau:

Sau line 28 cua login.asp bạn thêm dòng: session("userid") =rs("username")

Qua trang hiển thị, bạn trình bày sắp xếp sao cho đẹp và đặt vòng loop sau vào:

sql="Select image from image where user='" & session("userid") & "'"
rs.open sql,conn,3,3
do while not rs.eof
response.write "<img src=""" & rs("image") & """ alt="""" />"
rs.movenext
loop
rs.close
set rs=Nothing

Xong!
Bài liên quan
0