الدرس التاسع: استدعاء بيانات من القاعدة من خلال روابط (استخدام QueryString)
وضعنا في الدرس السابق رابط لصفحة body.asp وكان الرابط على الشكل التالي:body.asp?field=tech_news&id=<%=rs("id")%>والآن سنقوم بتصميم صفحة body.asp وشرح معنى كل كلمة في الرابط.
قم بفتح صفحة teach.asp وقم بإعادة حفظها باسم body.asp لنجري عليها التغييرات المطلوبة. سأقوم بجميع التغييرات مرة واحدة، ثم سأقوم بشرحها بعد ذلك.. فلنجري هذه التعديلات معا:
كود PHP:
[right]<%@ 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" -->
[/right]
والآن، لنتعلم معاني الأوامر الجديدة في هذه الصفحة. السطر التالي : field=request.querystring("field")يعني:
تحديد متغير باسم field وذلك بكتابة: field=
قيمة هذا المتغير سيتم استقبالها عن طريق رابط وذلك بكتابة: request.querystring
سيشار للقيمة في الرابط بكلمة 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 قمنا بشرحة في الدروس السابقة.
إعداد: خالد الحر
__________________

يقول الامام مالك رحمه الله:
إنما هؤلاء أقوام أرادوا القدح في
النبي صلى الله عليه وسلم فلم يمكنهم ذلك، فقدحوا في أصحابه حتى يقال رجل سوء ولو كان
رجلاً صالحاً لكان أصحابه صالحين.
وقال أبو الوفا بن عقيل رحمه الله:
انظر كيف اختار
لمرضه بيت البنت، واختار
لموضعه من الصلاة الأب، فما هذه الغفلة المستحوذة على قلوب الرافضة عن هذا الفضل والمنزلة التي لا تكاد تخفى عن البهيم فضلا عن الناطق.
وحيد القرن، كسرنا قرنه، ودككنا حصنه، وهدمنا برجه، فخرج يتبختر بعتاده مزهواً بعدده ففللنا حدّه، وقتلنا جنده، وفرقنا صحبه، والفضل لله وحدهولئن أبيد أبناء دولة الإسلام عن بكرة أبيهم خيرٌ لهم من أن يحكمهم رافضيٌّ خبيث أو أن تستظلّ بغداد برايات الصفويين يوما واحداً.
