الدرس التاسع: استدعاء بيانات من القاعدة من خلال روابط (استخدام QueryString)

الدرس التاسع: استدعاء بيانات من القاعدة من خلال روابط (استخدام QueryString)

وضعنا في الدرس السابق رابط لصفحة body.asp وكان الرابط على الشكل التالي:body.asp?field=tech_news&id=<%=rs(“id”)%>
والآن سنقوم بتصميم صفحة body.asp وشرح معنى كل كلمة في الرابط.
قم بفتح صفحة teach.asp وقم بإعادة حفظها باسم body.asp لنجري عليها التغييرات المطلوبة. سأقوم بجميع التغييرات مرة واحدة، ثم سأقوم بشرحها بعد ذلك.. فلنجري هذه التعديلات معا:

<%@ Language=VBScript CodePage = “1256”%>
<html dir=rtl>
<!–#include file=”pageheader.txt” –>
<!–#include file=”connection.txt” –>
<%
field=request.querystring(“field”)
id=request.querystring(“id”)

selectSQL=”select * from “&field&” where id=”&id
set rs=ADO.execute(selectSQL)
%>

<p align=“center”><b><font face=“Simplified Arabic” size=“5” color=“#C11111”><%response.write rs(“subject”)%></font></b><p align=“center”><p align=“left”><font face=“Simplified Arabic”size=“3”><%response.write rs(“add_dat”)%></font></p><p><b><font face=“Simplified Arabic” size=“3”><%response.write rs(“body”)%></font></b></p>

<%ADO.close%>
<!–#include file=”pagefooter.txt” –>

والآن، لنتعلم معاني الأوامر الجديدة في هذه الصفحة. السطر التالي : field=request.querystring(“field”) يعني:

  1. تحديد متغير باسم field وذلك بكتابة: field=
  2. قيمة هذا المتغير سيتم استقبالها عن طريق رابط وذلك بكتابة: request.querystring
  3. سيشار للقيمة في الرابط بكلمة field وذلك بكتابة: (“field”)

لنتذكر الآن الرابط الذي قمنا بكتابته في الدرس السابق:body.asp?field=tech_news&id=<%=rs(“id”)%>
انظر للكلمات التي تم تحديدها باللون الأخضر. لقد أرسلنا قيمة field من الصفحة السابقة إلى هذه الصفحة من خلال رابط. وهذه القيمة هي tech_news . وللتوضيح أكثر.. لنفترض أن الرابط كالتالي:body.asp?section=tech_news&id=<%=rs(“id”)%>
في هذه الحالة يجب تغيير field=request.querystring(“field”) إلى field=request.querystring(“section”) .
السطر الثاني id=request.querystring(“id”) له نفس وظيفة السطر الأول، مع الفارق في المتغير وقيمته. وبالنظر للرابط السابق body.asp?field=tech_news&id=<%=rs(“id”)%> يتضح أن قيمة المتغير id ستتغير بتغير الموضوع. وذلك لأن القيمة تأخذ من قاعدة البيانات عن طريق أمر selectSQL في الصفحة السابقة.
من الأمور الجديدة في هذا الدرس أيضا هو التطوير الذي حدث لأمر selectSQL . حيث تم استبدال اسم الجدول (بعد كلمة From) باسم متغير (في حالتنا هذه Field) وهذا يعطي مرونة أكبر. حيث أن SelectSQL ستتغير بتغير قيمة Field .. أي أنه يمكننا استخدام هذه الصفحة لعرض جميع أقسام الأخبار في الموقع وليس فقط للأخبار التقنية.
أيضا تم إضافة شرط Where لـ SelectSQL وبإمكاننا وضع الشرط الذي يناسبنا.. وفي درسنا الحالي كان الشرط: id=”&id أي: عندما تكون قيمة id في الجدول المطلوب في القاعدة تساوي قيمة المتغير id في هذه الصفحة.
بقية الـ Code قمنا بشرحة في الدروس السابقة.

  • يمكنك مشاهدة الصفحة التي قمنا بتصميمها في هذا الدرس من خلال هذا الرابط: أخبار تقنية
  • لسحب الصفحات التي تم تصميمها في هذا الدرس: الدرس التاسع

إعداد: خالد الحر

الكاتب ayman

ayman

مواضيع متعلقة

التعليقات مغلقة