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

مشكلة في ال loop ،،

مغلق
بدأه محـ asp ـب في 8 أغسطس 2004 · 8 رد · 606 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

وأردت أن أضع البيانات في جدول به عمودين

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

والكود الذي أستخدمته هو

<table>

<tr>

<td>

<%

=rs("name")

%>

</td>

<%rs.movenext%>

<td>

<%

=rs("name")

%>

</td>

<%rs.movenext%>

</tr>

<%loop%>

</table>

[code]

بينما لو كان <td> واحد لم تظهر أي مشكلة وظهرت صفحة asp بشكل سليم

أرجو مساعدتي ولكم جزيل الشكر ووافر التقدير

#2

إليكم الكود مرة أخرى بصورة أوضح ومعدل الكود الأول سقط منه سهوا do while

وكما ذكرت إذا كانت عدد السجلات زوجي يعمل أما إن كان فردي فلا يعمل

علما أن :

rs=server.creatobject(adodb.recordset) ---ll

<table>
<tr>
<%do while not rs.eof%>
<td>
<%=rs("name")%>
</td>
<%rs.movenext%>
<td>
<%=rs("name")%>
</td>
<%rs.movenext%>
</tr>
<%loop%>
</table>
#3

ارجو ان تضع الكود :

<%do while not rs.eof%>

فوق كود :

<tr>

اي ان الكود يصبح :

<table>
<%do while not rs.eof%>
<tr>
<td>
<%=rs("name")%>
</td>
<%rs.movenext%>
<td>
<%=rs("name")%>
</td>
<%rs.movenext%>
</tr>
<%loop%>
</table>

حيث انك لم تكن تغلق كود الصف الذي تفتحة وهذا خطء

وبالتوفيق إن شاء الله

logosite.gif
#4

شكرا على ردك أخي basharss

المشكلة لم تنحل

وعند اختبار الصفحة في الـــــlocalhost

يظهر لي :

Error Type:

ADODB.Field (0x80020009)

‏‏إما أن قيمة أياًً من BOF أو EIF تساوي True، أو أنه تم حذف السجل الحالي. تتطلب العملية المطلوبة سجلاً حالياً.

/site/Default.asp

#5

جرب التالي و أعطنا رايك:

<% I=0 %>
<table>
<%
Do Until RS.EOF

If I Mod 2 = 0 Then Response.Write "<tr>"
Response.Write "<td width='50%' NOWRAP>" & vbCRLF

Response.Write rs("name") & vbCRLF
Response.Write "</td>" & vbCRLF

If (Not I Mod 2 = 0) Or RS.EOF Then Response.Write "</tr>"
  RS.MoveNext
  
  I=I+1
Loop
%>
</TABLE>

تم تعديل هذه المشاركة بواسطة محمد القربي في 29 أغسطس 2004 في 05:33

Mohamad Al-Karbi

www.mkarbi.me

#6

جزاك الله خيرا أخي محمد وآسف على ردي المتأخر ،، توقعت أن الموضوع أصبح في عالم النسيان

الكود صحيح 100%

هو الذي كنت أبحث عنه

أيضا أنا طرحت السؤال نفسه في منتديات المحيط العربي وأعطاني الأخ عبدالله أيضا جواب آخر

وكود صحيح 100%

ومع أن كلا الكودين أدى الغرض لكن هناك فرق بينهما

الكود الذي أعطانيه الأخ عبدالله واضح وسهل

والكود الذي أعطانيه الأخ محمد واضح لكن فيه بعض الغموض بالنسبة لي ولكن هذا مفيد أني أعرف جوابين لسؤال واحد ، وأتعرف على مصطلحات جديدة

طلبي منك أخي محمد أنك تتكرم علينا بشرح بسيط للكود الذي كتبته

mod

vbCRLF

لم أفهمها جيدا

ولك الشكر والثناء

للفائدة : الكود الآخر الذي أجاب به الأخ عبدالله شقلية على هذا الرابط

http://www.arabmoheet.com/topic.asp?topic_...age=1entry549

#7

على الرحب و السعة أخي محب

بالطبع قد تكون طريقة اخي عبدالله أسهل و السبب أني أساساً لست مبرمجاً أنا محاسب و قد تعلمت برمجة الانترنت بما يخدمني و ليس بأسلوب أكاديمي.

بالنسبة للكود ستلاحظ أن مهنتي المحاسبة قد غلبتني حتى في البرمجة كما سترى :)

MOD هو اختصار لـ modular division يعني باقي التقسيم على عدد، مثلاً لما نقول: 22 تقسيم 3 هو 7 و الباقي 1. و بناءً على ذلك كلما كان الباقي 0 عندما نقسم قيمة I على 2 فأبدأ حقل جديد من الجدول (<tr>). عندما لا تكون قيمة الباقي صفراً (Not I Mod 2 = 0) أو عندما لم يعد هناك سجلات في الداتا بيز (RS.EOF) فأغلق الحقل من الجدول (</tr>)

أما vbCRLF فهي لقطع السطور و ذلك لبدأ من سطر جديد في الكود لتسهيل الأمور طبعاً

Mohamad Al-Karbi

www.mkarbi.me

#8

شكرا يا أخ محمد

هذي فائدة طيبة وجديدة استفدتها الآن ،،، والقادم أحلى إن شاء الله

#9

أخي محـ asp ـب، بكل تأكيد أنت دائماً على الرحب و السعى

Mohamad Al-Karbi

www.mkarbi.me

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

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