الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عملية التكرار في قاعدة بيانات كسس مع asp

مغلق
بدأه alshreef في 22 أبريل 2003 · 19 رد · 884 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي قاعدة بيانات مرتبطة مع اكسس

وعندي جدول واحد به اكثر من سجل

وممكن للشخص الواحد يكون عنده اكثر من سجل وبرقمه في السجل الاول حيث رقم سجله يتكرر ولكن السجلات الاخرى تختلف

مثال

عندي قاعدة بيانات اكسس اسم القاعدة db.mdb وبها هذه السجلات

mnamder= رقم الطالب

name= اسم الطالب

madrash= اسم المدرسة

almoad= المواد

drjah= درجة الاختبار

معلومة رقم السجل المدني يتكرر في القاعدة للطالب الواحد يعني ممكن يكون عنده 15 سجل على حسب عدد المواد وكذلك بقية السجلات مع اختلاف المضمون مثلا مضمون المواد قد تكون قران وتفسير وهكذا

انا استخدم عملية التكرار هذه

<%

do while not rs.eof

         rs.movenext

loop

ADO.close

%>

ولكن المشكلة انه كرر لي رقم السجل 15 مرة وكذلك وكرر لي اسم الطالب 15 مرة هل اجد عندكم الحل .

#2

أهلا و سهلا بك أخي ..

اتبع التالي للعرض :

 While not rs.EOF

   

     // your code



 Rs.MoveNext

 Wend

بالتوفيق..

You can fly while you can touch the sky

#3

السلام عليكم

بصراحة لم اتصور ان يكون الرد بهذه السرعة

الف مليون شكر لك يا اخي محمد خليل

اخي العزيز لم افهم شيء وهذا جزء من الكود ياليت تراجعه وتعدل لي فيه

<%@ Language=VBScript CodePage = "1256"%>



<html dir=rtl>







<!--#include file="connection.txt" -->







'أوامر اختيار الجدول واستدعاء البيانات منه



<%

selectSQL="select * from tb_t"



set rs=ADO.execute(selectSQL)



do while not rs.eof





%>





<center>



<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%">



<tr>



<td width="100%" dir="rtl" bgcolor="#DFDFFF">رقم الطالب : <%response.write rs("t_id")%></td>



</tr>



<tr>



<td width="100%" dir="rtl">اسم ولي الامر : <%response.write rs("st_name")%> هذا هنا اسم ولي أمر الطال الا اريده يتكرر



<p>المواد الدراسية : <%response.write rs("muad")%></td> هنا المواد اريدها تتكرر لكل كالب



</tr>



</table>



</center>








<hr color="#DFDFFF" width="90%">



<%



         rs.movenext



loop



ADO.close



%>
#4

وين الناس انا منتظر ؟

اليس هنالك سرعة مثل جوابك الاول

:o اعرف انك مشغول ولكن كلي أمل في جوابك قبل النوم

#5

اسف أخي كان عندي اختبار و ما ظليت على النت .. على العموم هدا هو الحل..

<%@ Language=VBScript CodePage = "1256"%>



<html dir=rtl>







<!--#include file="connection.txt" -->







'أوامر اختيار الجدول واستدعاء البيانات منه



<%

selectSQL="select * from tb_t"



set rs=ADO.execute(selectSQL)



 While not rs.EOF





%>





<center>



<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%">



<tr>



<td width="100%" dir="rtl" bgcolor="#DFDFFF">رقم الطالب : <%response.write rs("t_id")%></td>



</tr>



<tr>



<td width="100%" dir="rtl">اسم ولي الامر : <%response.write rs("st_name")%> هذا هنا اسم ولي أمر الطال الا اريده يتكرر



<p>المواد الدراسية : <%response.write rs("muad")%></td> هنا المواد اريدها تتكرر لكل كالب



</tr>



</table>



</center>








<hr color="#DFDFFF" width="90%">



<%



        RS.MoveNext

        WEND



ADO.close



%>

You can fly while you can touch the sky

#6

الف شكر لك يا اخي والله يوفقك في اختبارك وتجتازه بنجاح

اخي العزيز نفس الشيء مافي اختلاف عن الكود السابق الذي وضعته انا

الكود الذي وضعتها انت عرضها بهذا الشكل وكذلك الكود الذي وضعتها انا عرضها بنفس الشيء

رقم الطالب : 1

اسم ولي الامر : حسن محمد علي عبدالله

المواد الدراسية : قران

--------------------------------------------------------------------------------

رقم الطالب : 1

اسم ولي الامر : حسن محمد علي عبدالله

المواد الدراسية : توحيد

--------------------------------------------------------------------------------

رقم الطالب : 2

اسم ولي الامر : صالح محمد

المواد الدراسية : قران

--------------------------------------------------------------------------------

رقم الطالب : 2

اسم ولي الامر : صالح محمد

المواد الدراسية : توحيد

هل تشاهد يا اخي يجعل كل طالب يتكرر مرة اخرى مع كل مادة له والذي اريده ان يتكرر فقط المواد ودرجة الاختبار وووووو جداول اخرى ابغاها تتكرر للطالب تحت اسمه ثم ينتقل اللوب للطالب الاخرى وينزل جميع مواده تحت اسمه وهكذا...

#7

اها .. المشكلة اخي اذا من تصميم قاعدة البيانات .. المفروض تعمل جدول للطلبة .. به أسمائهم .. و جدول للمواد و جدول أخير للعلامات ..

طبعا المفروض تكون ملم بأسس تصميم و انشاء قواعد البيانات ..

هناك مثال في قسم المشاريع باسم :العلامات الجماعية .. انظر اليه ستجد مثال جميل يناسبك ..

اذا لم تشاهد أي مشروع اضغط من الأسفل على عرض جميع المواضيع منذ البدأ ..

You can fly while you can touch the sky

#8

اخي العزيز لقد عملت بنصيحتك ووضعت اكثر من جدول ووضعت العلاقة بينهما علاقة باطراف

ونفس المشكلة تظهر

المشروع مرفق هنا في هذا الرابط

وراح تشوف بنفسك عملية التكرار

ارجو مساعدتك وتعديل الكود بما هو صحيح ولك مني كل الحب والتقدير

http://www21.brinkster.com/alshref/school.rar

اذا لم ينزل معاك اضغط بالماوس اليمين ثم اختر حفظ باسم

#9

:) أخي يا ريت تبعت الملف بصيغة winzip لاني ما بتعامل مع ال winrar

You can fly while you can touch the sky

#10

السلام عليكم

كم كانت سعادة وانا اشوف اسمك من ثاني وانت ترد علي

اخي العزيز اليك الملف مضغوط ب zip

اذا لم ينزل معاك اضغط على اللنك بالماوس اليمين ثم اختار حفظ باسم

http://www21.brinkster.com/alshref/school.zip

#11

:) العفو أخي .. الحل طلع بسيط جدا .. لم ياخذ خمس دقائق .. سأكتبه ثم أشرح لك ..

<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">



<HTML dir=rtl><HEAD>

<%@ Language=VBScript CodePage = "1256"%>



<!--#include file="connection.txt" -->



<%



'أوامر فتح قاعدة البيانات



selectSQL="select * from tb_t"

set rs=ADO.execute(selectSQL)









 do while not rs.eof





// هنا يجب أن تقوم بعمل الاستعلام الاخر الخاص بالمواد 

// حتى تأخذ بكل دورة مجموعة دورات فرعية خاصة بالمواد لكل طالب



selectSQL="select * from moad where t_id=" & rs("t_id") &" order by muad"

set temprs=ADO.execute(selectSQL)

%>



<center>



<table border="0" cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE: collapse" bordercolor="#111111" width="90%">



<tr>



<td width="10%" dir="rtl" bgcolor="#dfdfff"><span lang="ar-sa">اسم الطالب</span> <%=rs("st_name")%></td>



<td width="20%" dir="rtl" bgcolor="#dfdfff">

<p align="center">رقم الطالب : </td>



<td width="25%" dir="rtl" bgcolor="#dfdfff"><%response.write rs("t_id")%></td>





</tr>



<tr>









<p> </TD></p> 



</tr>



</table>



</center>

<DIV></DIV>



<table border="1" cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">

  <tr>

    <td width="20%" align="middle">المواد الدراسية</td>

    <td width="20%" align="middle"> اختبار منتصف الفصل</td>

    <td width="20%" align="middle"> المشاركة</td>

    <td width="20%" align="middle"> اختبار نهاية الفصل </td>

    <td width="20%" align="middle"> المجموع</td>

  </tr>

<%

 while not temprs.EOF

%>

  <tr>

    <td width="20%" align="middle"> <%=temprs("muad")%></td>

    <td width="20%" align="middle"> <%=temprs("mntsaf")%></td>

    <td width="20%" align="middle"> <%=temprs("mush2")%></td>

    <td width="20%" align="middle"> <%=temprs("aktbar2")%></td>

    <td width="20%" align="middle"> <%=temprs("total")%></td>

  </tr>

  <%

  temprs.MoveNext

  Wend

  %>

</table>





<%





         rs.movenext



loop



ADO.close



%></BODY></HTML>

الموضوع و ما فيه منطقية العمل .. الان انت تعرض بيانات طالب .. كيف تستطيع اخراج المعلومات الرتبطه به ؟؟ انت عملت جدول اخر للعلامات و ربطته بالجدول الاول عن طريق رقم الطالبي و هو رقم وحيد PK .. انت الان بكل دورة تقوم بعرض بيانات سجل طالب و كل سجل له رقم خاص بالطالب يختلف عن الطالب الاخر ..

الذي حدث اننا توقفنا بداخل كل دورة و استخدمنا رقم الطالب لعمل دورة داخلية تستغل رقمه لتقارنه مع بياناته الموجودة في جدول المواد عن طريق رقم الطالب ..

و هكذا ..

انا ارفقت الملف مرة أخرى و قد شرحت لك ذلك ..

أيضا أضفت سطرا من أجل اللغة العربية بألأاعلى و هو :

<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">

أيضا كان ممكن حل المشكلة عن طريق استخدام الدوال و هذه تحتاج منك لدراية برمجية تجنبتها خوف ان تكون مبتدئا و يصعب عليك فهمها ..

على العموم حظا موفقا و اختباري تأجل ;)

school.zip

You can fly while you can touch the sky

#12

لقد تم تحديث الملف ارجو تنزيله وتصحيح ما بداخله

اخي العزيز اليك الملف مضغوط ب zip

اذا لم ينزل معاك اضغط على اللنك بالماوس اليمين ثم اختار حفظ باسم

http://www21.brinkster.com/alshref/school2.zip

#13

قمت بالرد بالأعلى و حل المشكلة .. لا داعي لتعبك ;)

You can fly while you can touch the sky

#14

اخي العزيز معليش غلبتك معاي

بالنسبة للملف الذي ارفقته هنا خطأ في السطر رقم 25

/school/school.asp, line 25

حبذا لو تعمل التعديلات على الملف المرفق هذا

اخي العزيز اليك الملف مضغوط ب zip

اذا لم ينزل معاك اضغط على اللنك بالماوس اليمين ثم اختار حفظ باسم

http://www21.brinkster.com/alshref/school2.zip

#15

الملف سليم تماما .. ربما الاختلاف في مسار قاعدة البيانات ..

انت نبهتني لأن أذكرك باعتماد نظام ال virtual directory .. مثال ..

// انت كنت كاتب 

<%



'أوامر فتح قاعدة البيانات



Dim ConnectionString

Dim ADO



ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("......databasesaleh.mdb")

Set ADO=Server.CreateObject("ADODB.Connection")

ADO.ConnectionString =ConnectionString

ADO.Open





// اما الأفضل والصح تكتب

<%



'أوامر فتح قاعدة البيانات



Dim ConnectionString

Dim ADO



ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("/school/database/saleh.mdb")

Set ADO=Server.CreateObject("ADODB.Connection")

ADO.ConnectionString =ConnectionString

ADO.Open



%>

%>

معنى كلامي انني كنت واضع الملفات داخل مجلد اسمه school بداخل wwwroot .. انت فقط قم بتعديل المسار حسبما كان في جهازك .. أول احذف الملف الخاص بالاتصال و ضع القديم و سيعمل معك :)

You can fly while you can touch the sky

#16

اخي العزيز المشكلة ليست في المسار ... هنالك تعديل كلي في القاعدة الجديد فضلا اضف الى التعديلات بها

اذا لم ينزل معاك اضغط على اللنك بالماوس اليمين ثم اختار حفظ باسم

http://www21.brinkster.com/alshref/school2.zip

تعرف والله كلمة شكر قليلة في حقك

بالفعل نجحت طريقتك بس كل ما شفت هنالك خطأ قمت بحذف ذلك السطر كليا حتى بقي معايا سطر المواد وبالفعل نزلت المواد مرتبة لكل طالب

حبذا تعمل التعديلات على هذه القاعدة الجديدة

اخوك الشريف

#17

أنا الان على الطريق وذلك بفضل الله ثم بفضلكم يا استاذي الفاضل

انا في انتظارك الله يبارك فيك ويرزقك الذرية الصالحة

على فكرة انا مبتدأ في هذه الشغلة وتحملني شوي

فقط من يومين بدأت في دراسة asp

ونجحت نوعاً ماء وذلك بفضلك

#18

أخي طريقتك الأخيرة كلها غلط .. و انت ما مشيت على طريقتي .. انا كملت على صفحتك و عملت تعديلات و ارفقتلك الحل السليم .. انت اقرأ الكود جيدا اللي انا كتبته لك .. انت رجعت كررت نفس الغلطة .. يعني سهرتي كلها راحت ببلاش :)

شد حيلك و انا الان رايح انام و عندي اجازة 3 أيام راح اغيب فيها عنكم :)

You can fly while you can touch the sky

#19

بالتوفيق يا اخي

وان شاءالله سوف تجدني تلميذك النجيب

وتصبح على خير

واسف على ازعاجك

اخوك الشريف

#20

اخي العزيز لقد استفدت منك جلما استفادة

اخي العزيز كان هنالك خطأ في الكود الذي ولكن خطأ بسيط جدا وقد انتبهت له وعدلته وهو يعمل الان بشكل ممتاز على القاعدة الثانية وليست التي عرضتها

ما ادري ويش اول لك إلا ان الله يرحمك ويرحم والديك ويدخلكم جميعاً الجنة ويرزقك الزوجة الصالحة بس بقي طلب لي ههههههههههههههههه

وهو كيف اعمل بحث برقم الطالب ويظهر لي اشعار الطالب فقط دون بقية زملائه في صفحة بحث وحماية الصفحة الاساسية برقم الطالب

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…