09/10/2018, 22:49

Dùng thẻ select để lọc dữ liệu từ một bảng.

Bro nào biết cách dùng thẻ select để lọc dữ liệu ra hông
Dùng nhiều select để lọc dữ liệu từ một bảng.
Như trang http://support.asus.com/download/download.aspx?SLanguage=en-us
lọc sản phẩm theo loại sản phẩm và tiếp tục loại dòng sản phẩm đó....
Cám ơn nhiều
Black Sheep viết 01:06 ngày 10/10/2018
Trang support của Asus này đâu phải là dùng select để đọc từ cơ sở dữ liệu ra đâu nhỉ ? Nó chỉ là một đoạn JS đính kèm theo trang thôi mà.

Làm ơn nói rõ dùng nhiều thẻ select để lọc dữ liệu là như thế nào nhé...
real_time viết 00:50 ngày 10/10/2018
thế này mới là lọc từ câu lệnh select nè: select * from sapham where tinhchat1=?? and tinhchat2 = ??? or tinhchat3 =??? v.v.....
hmcpp viết 00:59 ngày 10/10/2018
Chài, đại khái là như thế tưởng asus dùng database chứ!
Có 2 table A(c1,c2,c3,...) (có dữ liệu) và B (chưa có dữ liệu), Bây giờ muốn người dùng nhập liệu bằng cách chọn (dùng target Select) các select để nhập vào bảng B. Tất nhiên dữ liệu để đưa vào là từ table A rồi.Và trong bảng A có 3 khóa (làm khóa chính (c).
Select 1 lưu khóa (c1) sau khi chọn thi` select thứ 2 sẽ dựa vào giá trị của select 1 để list. Tương tự như vậy đối với select 2 và select 3.
Cái khó ở đây là nó chỉ cho phép nằm trong một form. Sau khi người dùng selected và nhập liệu bấm nút Submit sẽ lưu vào table B.Mà mỗi lần selected form sẽ submit để lấy đối số (request.form) để đưa vào điều kiện lọc các select còn lại.

Viết hơi dài dòng, mong các bác hiểu cho!
dinhbaochau viết 01:00 ngày 10/10/2018
Cái này phải dùng công cụ .NET thì làm rất dễ. Dùng trình điều khiển Web Form làm thì có gì khó đâu. Bác thử nghiên cứu xem nhé.
Nên dùng C# thì viết đơn giản hơn VB.
Vậy nhé.!
Nếu bác cần ví dụ cụ thể thì hãy mail cho tui. Tui gửi cho một đoạn code mà ngâm cứu .
chaudb@gmail.com
Chúc vui!
real_time viết 01:04 ngày 10/10/2018
troai ơi sao ko dùng trigger mà điều khiển ??? tui cũng không hiểu ý bạn ra làm sao nhưng nếu có table1(a,b,c) có dữ liệu và table2(a,b,c) trống thì có thể dùng trigger để điền vào khi insert vô table1 thì trigger sẽ tự điền dữ liệu vô table2.
lên net search từ khóa trigger là ra ngay làm gì mà phải làm đến tận C# với VB.NET làm gì?
hoặc có thể viết theo kiểu này?
insert into table2(c1,c2,c3) values(select c1,c2,c3 from table1)??
bete viết 01:00 ngày 10/10/2018
Tui đoán là như vầy: giả sử sản phẩm là xe hơi

Cái select thứ nhứt hiển thị các lựa chọn: Toyota, Honda,..........
Sau khi người dùng chọn Honda chẳng hạn thì cái select thứ hai sẽ hiển thị các lựa chọn (ứng với cái kiểu xe của Honda mà thôi): Accord, Civic,..... Còn nếu người dùng chọn Toyota thì cái select thứ hai sẽ hiển thị các lựa chọn(ứng với các kiểu xe của Toyota mà thôi): Corolla, Camry, .....
Nếu người dùng chọn Honda-Accord thì cái select thứ ba sẽ hiển thị các lựa chọn ứng với Honda-Accord: DX, LX, EX,........

Nếu mỗi lần người dùng thay đổi lựa chọn ở select thứ nhứt mà mình lại truy vấn cơ sở dữ liệu để lấy về các lựa chọn thích hợp cho cái select thứ hai => có thể sẽ chậm (tương tự cho trường hợp khi người dùng thay đổi lựa chọn ở select thứ hai mà minh lại truy vấn cơ sở dữ liệu để lấy về các lựa chọn thích hợp cho cái select thứ ba)

Có thể truy vấn CSDL chỉ 1 lần ở ngay lúc đầu (khi truy xuất vào trang hiện tại) => lưu các lựa chọn theo cấu trúc tương tự cây (mức thứ nhứt cho select thứ nhứt, mức thứ hai cho select thứ hai, mức thứ ba cho select thứ ba,...). Sau đó xài JavaScript (hay tương tự) để khi người dùng thay đổi lựa chọn ở mức k thì mình thay đổi các lựa chọn ở mức(k+1) một cách tương ứng. Lưu hết các lựa chọn ở nhiều mức một lần như vậy hơi tốn bộ nhớ nhưng có thể sẽ nhanh hơn. Tui nghĩ cái trang bạn đưa ra để tham khảo có code JavaScript => bạn thử đọc để hiểu cái ý chính mà áp dụng cho trường hợp của mình

-thân
hmcpp viết 00:59 ngày 10/10/2018
Thật ra, Dùng select một lần cũng được tuy nhiên mình lấy dữ liệu từ một View (kết hợp nhiều table), nhưng sẽ tốt nếu như dữ liệu ít, và dữ của mình là khoảng vài triệu records thì chậm lắm, mình đành phải sử dụng cách lọc từ từ cho nhanh (mặc dù thực tế thì hơi chậm, có thể chấp nhận được).
Table A(a1,a2,a3,....)
Mình lấy field a1 ra trước ---> lấy a2 theo a1 ---> lấy a3 theo a1 và a2 --->...

Tuy nhiên thật là khó khi lọc xong rồi (như ý rồi) thì khó add vào trong table B (mới) được. Vì mình dung ASP.
Cám ơn các bro đã quan tâm.
Mình vẫn chưa có cách giải quyết vấn đề này, mong sự giúp đỡ của mọi người.
hmcpp viết 01:04 ngày 10/10/2018
Chan' het' cach' roi`, chac chuyen qua asp.net
duongdragonxxx viết 00:50 ngày 10/10/2018
Co' ai biết bên asp.net làm thế nào không
Bài liên quan
0