การสืบค้นข้อมูลจะทำงานคล้ายคลึงกับการแสดงข้อมูลทั้งหมด
เพียงแต่เพิ่มเงื่อนไขการแสดงขอ้มูลเข้าไป
เช่น ต้องการให้แสดงข้อมูล
เฉพาะคนที่มีชื่อ ภาสกร เท่านั้น
หรือแสดงข้อมูลใครก็ได้ที่มีพยัญชนะภายในชื่อเป็น
"ภ" เป็นต้น
หลักการ
และเงือนไขเงื่อนไข ของโปรแกรม
search.asp
- ถ้าไม่มีการกดปุ่ม
Search
ให้แสดงกรอบสำหรับกรอกข้อมูลเพื่อค้นหา
- เมื่อมีการกรอกข้อมูลและกดปุ่ม
Search ให้แสดงข้อความว่าพบหรือไม่
- เมื่อไม่มีการกรอกข้อมูล
แต่กดปุ่ม Search
ให้แสดงข้อความว่ากรุณากรอกข้อมูลด้วย
ได้อธิบายเกี่ยวกับการทำงานของโปรแกรม
ภายใน Source โปรแกรมไปแล้ว
ขอให้อ่านโปรแกรมทีละบรรทัด
รูปแบบคำสั่ง SQL Search
SELECT fieldname FROM tablename WHERE เงื่อนไข |
ตัวอย่างและคำอธิบาย
การ Search database
search.asp
<% if
request.form("action") = "" then %>
<%' ถ้าไม่พบตัวแปร action
ให้ทำงานด้านล่าง
แสดงกรอบให้กรอกข้อมูล %>
<html>
<body>
<form action="search.asp" method="post">
<FONT SIZE=3 FACE="MS Sans
Serif"><B>ระบบสืบค้นข้อมูล</B></FONT><br>
Name: <input type=text name=name size=20>
<input type=submit name=action value=Search>
</form>
</body>
</html>
<% elseif request.form("name") = "" then%>
<% 'ถ้าไม่พบตัวแปร name
หรือไม่กรอกข้อมูล
ให้แสดงผลด้านล่าง %>
<CENTER><FONT SIZE=3 FACE="MS Sans
Serif"><B>กรุณากรอกข้อมูลด้วย
<BR><A
HREF=search.asp>กลับไปกรอกข้อมูล</A></FONT></B></CENTER>
<% else%>
<% 'ถ้าพบตัวแปร action และ name
ให้แสดงผลการสืบค้นข้อมูล %>
<HTML>
<BODY>
<%
Set Connection=Server.CreateObject("ADODB.Connection")
Connection.Open "DSN=phonenet"
'กำหนด DSN
ให้ตรงกับค่าที่กำหนดไว้ใน ODBC
SQL="SELECT * FROM phone_book where name like
'%"&Request.Form("name")&"%'"
'คำสั่ง SQL
ให้แสดงข้อมูลทุก field ในตาราง phone_book
'โดย แสดง Record
ที่มีชื่อตรงตามตัวแปร name
'โดยขึ้นลงท้ายด้วยตัวอักษรอะไรก็ได้
Set rs = Connection.Execute (SQL)
if rs.eof then
'ถ้าไม่พบข้อมูลให้
แสดงผลคำว่า ไม่พบข้อมูล
%>
<html>
<body>
<center>
<FONT SIZE=3 FACE="MS Sans
Serif"><B>ไม่พบข้อมูล
<BR><a
href="search.asp">กลับไปสืบค้นใหม่</a></FONT></B></center>
</body>
</html>
<%
response.end
end if
%>
<center>
<FONT SIZE=3 FACE="MS Sans
Serif"><B>แสดงผลการสืบค้นข้อมูล
phone_book</B></FONT>
<P>
<TABLE BORDER="1" CELLPADDING="3" BORDERCOLOR="#C0C0C0"
BGCOLOR="#FCF9D8" style="font-family: MS Sans Serif">
<TR>
<TH>ID</TH>
<TH>Name</TH>
<TH>Phone</TH>
<TH>Address</TH>
</TR>
<% Do While Not RS.EOF %>
<%'วนลูบ DO While
สิ้นสุดเมื่อจบรายการ %>
<TR>
<%'แสดงการสืบค้นข้อมูลจาก
filed ต่างๆใน table phone_book%>
<TD><%=RS("id")%></TD>
<TD><%=RS("name")%></TD>
<TD><%=RS("phone")%></TD>
<TD><%=RS("address")%></TD>
</TR>
<%
RS.MoveNext
<%'แสดงรายการถัดไป%>
Loop
%>
</TABLE>
<HR WIDTH=50%>
</BODY>
</HTML>
<% end if %>
|
เมื่อให้สืบคำว่า
"กร" จะได้ผลลัพธ์ดังนี้
ผลลัพธ์
แสดงข้อมูลในฐานข้อมูล
Phone_book
ID |
Name |
Phone |
Address |
1 |
ภาสกร |
223102 |
นครราชสีมา |

|