Search Database

              การสืบค้นข้อมูลจะทำงานคล้ายคลึงกับการแสดงข้อมูลทั้งหมด เพียงแต่เพิ่มเงื่อนไขการแสดงขอ้มูลเข้าไป เช่น ต้องการให้แสดงข้อมูล เฉพาะคนที่มีชื่อ ภาสกร เท่านั้น หรือแสดงข้อมูลใครก็ได้ที่มีพยัญชนะภายในชื่อเป็น "ภ" เป็นต้น

              หลักการ และเงือนไขเงื่อนไข ของโปรแกรม search.asp

  1. ถ้าไม่มีการกดปุ่ม Search ให้แสดงกรอบสำหรับกรอกข้อมูลเพื่อค้นหา
  2. เมื่อมีการกรอกข้อมูลและกดปุ่ม Search ให้แสดงข้อความว่าพบหรือไม่
  3. เมื่อไม่มีการกรอกข้อมูล แต่กดปุ่ม 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 นครราชสีมา

test_buttom.gif (636 bytes)


Copy right Passkorn Roungrong 2000