مثال Ultradev التعليمي: 3.5 تحرير السجلات في قاعدة البيانات
الكاتب:Eve Coleوقت التحديث:2009-05-30 18:34:45
الفصل الثالث: تطبيق قاعدة البيانات لإنشاء صفحات ويب ديناميكية
القسم 5: تحرير السجلات في قاعدة البيانات
لتحرير سجل أو حذفه، نحتاج أولاً إلى معرفة السجل الذي نقوم بتحريره أو حذفه. كلمات Zhang Guanli Dai ليست النتيجة التي نريدها :) عندما تحدثنا عن تصميم قاعدة البيانات سابقًا، ذكرنا على وجه التحديد أن الجدول يجب أن يحتوي على مفتاح أساسي لتحديد تفرد السجل وتجنب أخطاء الحذف أو التحرير. على سبيل المثال، إذا أردنا العثور على شخص يُدعى Zhang San، ولكن هناك أكثر من عشرة أشخاص يُدعى Zhang San في نفس الوقت، فيجب علينا تحديد Zhang San الذي تبحث عنه بناءً على خصائص معينة. وينطبق الشيء نفسه على المفتاح الأساسي، والذي يمكن أن يتكون من جزء فرعي واحد أو عدة أجزاء فرعية. بالنسبة لجدول معلومات المستخدم الخاص بنا، المفتاح الأساسي هو حقل الترقيم التلقائي المسمى ID. قيمة المعرف هذه فريدة، مما يعني أننا نحتاج فقط إلى معرفة معرف للعثور على سجل بشكل فريد، وبهذه الطريقة، يمكن أن تكون عمليات التحرير والحذف لدينا عادية نفذت.
حسنًا، بعد التذمر لفترة طويلة، فلنبدأ رحلتنا.
دعونا نفتح صفحة عرض البيانات التي بدأنا بها، ونضيف خليتين أخريين، ونجري اتصالات التحرير والحذف على التوالي، كما هو موضح في الشكل.
رابط التحرير هو: edit.asp?id=<%=(Recordset1.Fields.Item("ID").Value)%>
الاتصال المحذوف هو: del.asp?id=<%(Recordset1.Fields.Item("ID").Value)%>
وهذا يعني أنه بعد النقر على هذا الارتباط، سيتم فتح صفحة باسمedit.asp، وسيتم تمرير معلمة باسم id بقيمة <%=(Recordset1.Fields.Item("ID").Value)%> إلى هذه الصفحة، ثم في صفحة التحرير.asp، سيتم إخراج السجلات المقابلة للمعالجة استنادًا إلى المعلمات التي تم تمريرها.
أيها الأصدقاء، هل رأيتم ذلك؟ <%=(Recordset1.Fields.Item("ID").Value)%> هي في الواقع قيمة حقل المعرف في روابط البيانات لدينا. يتوافق كل سجل مع قيمة معرّف فريدة واحدة فقط، وهي <%=(Recordset1.Fields.Item("ID").Value)%> . عندما يحصل ملفedit.asp على هذه القيمة، يمكنه استرداد هذا السجل كيفية الحصول عليه، دعونا ننظر إلى أسفل. بالمناسبة، تتم معالجة الاتصالات المحذوفة أيضًا بهذه الطريقة.
أنشئ صفحة جديدة واحفظها باسمedit.asp ثم نبدأ في إنشاء مجموعة السجلات كما هو موضح أعلاه، ولكن هذه المرة تختلف عملية إنشاء مجموعة السجلات قليلاً، كما هو موضح في الشكل:
لم يتم استخدام عامل التصفية عندما أنشأنا مجموعة السجلات من قبل. كما يوحي الاسم، فهو يقوم بتصفية بعض البيانات التي لا نحتاجها بناءً على شروط معينة. الحقول المدرجة في عامل التصفية هي حقول جدول قاعدة البيانات الخاصة بك. هنا نحدد، ثم نضبط الشرط على "="، ثم نقوم بسحب مربع التحديد أسفل المعرف، وحدد معلمة URL، وقم بملء المعرف.
لماذا تختار هذا؟ نموذج الاتصال الخاص بنا أعلاه ليس:
حسنًا، يمكنك رؤية بعض الأدلة،edit.asp?id=.... هذا المعرف هو معلمة URL، والأمر متروك لك، طالما قمنا بملئه بشكل صحيح هنا. بعد تعيين ذلك، فهذا يعني أن مجموعة السجلات لدينا تحدد فقط قيمة حقل المعرف الذي يساوي قيمة المعرف الذي مررناه. بالطبع، نظرًا لأننا مررنا قيمة واحدة فقط، فلن يتم حذف سوى سجل واحد.
كيفية تعديل مجموعة السجلات بعد إخراجها؟ في الواقع، إنه يعادل إعادة إدخال البيانات.
افتح القائمة إدراج -> الكائنات الحية -> نموذج تحديث السجل
أوه! هل هو مشابه جدًا لنموذج إدراج السجل؟ الفرق الوحيد هو أنه لا يوجد سوى عمود مفتاح فريد واحد (حقل مفتاح فريد)، وهو المفتاح الأساسي الذي كنا نطالب به لفترة طويلة. حدده كحقل للمعرف الأمر التالي بسيط، ما عليك سوى اتباع ما تعلمناه في قسم إضافة السجلات وتعديله حتى تشعر بالرضا. لا تقلق بشأن قيمة ديفولات، فالنتيجة النهائية هي كما هو موضح في الشكل.
حسنًا، لنشعل فانوسًا - كالعادة، افتح المتصفح للتحقق من نتائجنا، وحدد السجل الذي أضفناه للتو: dd لتحريره، كما هو موضح في الصورة.
انقر فوق زر تحديث السجل للانتقال إلى صفحة العرض، لقد تم تغيير بياناتنا.
حسنًا، بعد قراءة عملية تحرير البيانات هذه، أعتقد أن عملية الحذف لن تكون صعبة بالنسبة لك، وفي القسم التالي، سنشرح كيفية حذف البيانات. يمكنك أيضًا الاسترخاء قليلاً - فبعد كل شيء، بعض أجزاء سجل التحرير هذا مربكة جدًا :)