نظرة سريعة على مجريات يوم سوالف
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع
عضو فعال
تاريخ التسجيل: Aug 2005-
#1 (permalink)  
تعدد الصفحات .. بأسهل الطرق ..!


بسم الله الرحمن الرحيم

الحمدلله ، والصلاة والسلام على أفضلا خلق الله .. سيدنا محمد بن عبدالله .. أما بعد ؛

لقد سألني بعض الإخوة عن كيفية عمل تعدد صفحات في عملية جلب البيانات من القاعدة ..

قف ! فكّر ! وتذكر! ... العملية سهلة جداً.. ابدأ أولاً بفهم الأكواد ثم حاول استخدام الطريقة لصالحك ..

في البداية اود أن أشرح الكود شرح نظري ومن ثم أطرحه بإذن الله تعالى ,..

لنفرض في البداية اننا في الصفحة الاولى .. سيكون رقم الصفحة هو (1) ..

في كل صفحة نريد عرض 20 نتيجة مثلاً .. لو ضربنا رقم الصفحة وهو 1 في عدد النتائج في كل صفحة وهو 20 .. سينتج لدينا رقم 20 .. كيف نحصل على رقم اول تسجيل نريد عرضه ؟ نطرح منه عدد النتائج في كل صفحة ..

إذاً .. 20 - 20 يساوي صفر .. سيبدأ من النتيجة الاولى في الصفحة الاولى ..

في الصفحة الثانية .. نضرب رقم الصفحة بعدد نتائج كل صفحة ثم نطرح عدد نتائج كل صفحة .. ( 2 × 20) - 20 وتساوي 20 .. إذاً سيبدأ بجلب النتائج من بعد النتيجة رقم 20 .. وهو المطلوب ..

المعادلة الرئيسية في هذه الفكرة هي :
( رقم الصفحة * عدد النتائج في كل صفحة ) - عدد النتائج في كل صفحة

الآن وبكل سهولة سنقوم بتطبيق الفكرة عملياً بإذن الله تعالى ..

يمكنك مشاهدة المثال اولاً:
http://www.devpedia.org/examples/pagetest.php

عنوان صفحة التجارب [ كمثال ]:
http://localhost/test.php

في هذه الحالة لم نحدد رقم الصفحة .. سنقوم بتحديده برمجياً ..
كود PHP:
$page = (int) (!isset($_GET["page"]) ? $_GET["page"]); 
قمنا في السطر السابق بتحديد قيمة المتغير $page والذي سيحوي رقم الصفحة الحالية .. نلاحظ في الكود أنه اذا لم يكن قد تم تعريف رقم الصفحة من خلال عنوان الصفحة فإن رقم الصفحة سيكون 1 .. أما اذا تم تعريفه فسيكون رقم الصفحة نفس الرقم الذي تم ارساله في عنوان الصفحة .. وقد أسبقنا الكود بـ (int) لتحويل نوع البيانات إلى int .. فيها نوع من زيادة الحماية ..

إذاً ، إذا قمنا بالدخول إلى هذه الصفحة :
http://localhost/test.php?page=3

عندها ستكون قيمة المتغير هي 3 . .أي ان رقم الصفحة الحالية هو 3 .. لكن ماذا عن هذه :
http://localhost/test.php
هنا ستكون القيمة واحد [ 1 ] .. لاننا لم نحدد رقم الصفحة في العنوان ..

لكن ! ,.., ماذا لو جربنا هذه :
http://localhost/test.php?page=one
في ظل محاولتنا لحماية الصفحة من العدوان الخارجي ... إلا أننا جعلنا هكذا رقم الصفحة يساوي صفراً ..

لنضف الكود التالي بعد السابق حلاً لمشكلة الصفر :
كود PHP:
$page = ($page == $page); 
إذا كان رقم الصفحة يساوي صفراً فسيجعله واحد .. أما إن كان غير ذلك فسيتركه كما هو ..

بعد أن حددنا رقم الصفحة .. نريد تحديد عدد النتائج التي نريد أن تظهر في كل صفحة .. سنضعها في متغير ولنسمه $perpage .. ونضع فيه القيمة 10 مثلاً لكل صفحة ..
كود PHP:
$perpage 10
الان .. تذكر معادلتنا السابقة .. نريد تطبيقها بشكل برمجي... وقيمة نتيجة معادلتنا سوف تكون عبارة عن نقطة بداية جلب البيانات .. ففي الصفحة الاولى عندما تكون القيمة 0 فهذا يعني انا اول نتيجة نريد عرضها هي رقم 1.. وفي الصفحة الثانية القيمة ستكون 20 .. وهذا يعني ايضاً ان اول نتيجة نريد عرضها هي 21 ... وهكذا ..
ماذا لو كتبنا الكود التالي :
كود PHP:
$startpoint = ($page $perpage) - $perpage
هنا قمنا بتحديد نقطة بداية جلب النتائج .. و $perpage يحتوي على عدد النتائج التي نريد جلبها .. إذاً ، كل ما علينا الان هو اعداد جملة ( استعلام ) SQL وضبطه بالشكل المطلوب ..

في هذا الاستعلام سنفرض أنا قمنا من قبل بالاتصال بمزود القاعدة واختيار القاعدة المناسبة ، وأن تلك القاعدة تحوي جدولاً باسم table نريد جلب كل نتائجه .. طبعأً بالتدريج في عدة صفحات .. الاستعلام العادي سيكون :
كود PHP:
$sql "select * from `table`"
هذا الاستعلام بشكله البسيط يقوم بجل جميع سجلات [ صفوف ] الجدول table .. هذا ما نريده .. إلا أننا نريد إضافة شيء بسيط يقوم باختيار مجموعة من الصفوف ما بين اول نتيجة نريدها حسب رقم الصفحة وحسب متغير $startpoint .. ونأخذ بعدها عدد السجلات الموجودة في المتغير $perpage ..

نقوم بإضافة التالي إلى الاستعلام .. مهما كان استعلام جلب النتائج :
كود PHP:
limit $startpoint,$perpage 
مع هذه الاضافة .. سيصبح الاستعلام السابق كالتالي:
كود PHP:
$sql "select * from `table` limit $startpoint,$perpage"
الآن كود تنفيذ الاستعلام بكل بساطة :
كود PHP:
$result mysql_query($sql); 
ثم بالطبع حلقة جلب البيانات ، ومحتوى الحلقة سوف يختلف من استعلام إلى آخر .. ومن جدول إلى آخر .. لكن كمثال وحتى تكون العملية شبه كاملة ، هذا كود تقريبي :
كود PHP:
while ($row mysql_fetch_array($result)) {
    echo 
$row["name"] ."<br>";

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

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

الكود التالي يقوم بتقريب عدد الصفحات عن طريق قسمة عدد النتائج جميعها على عدد النتائج في الصفحة الواحدة ..
كود PHP:
$pagesnum = @ceil(mysql_num_rows(mysql_query("select `id` from `table`")) / $perpage); 
مع تغيير اسم الجدول table .. واسم الحقل id إلى حقل قصير او حقل التعداد التلقائي إن وجد ..
بعد أن حصلنا على عدد الصفحات .. نقوم بكل بساطة بوضع جملة تكرار for او while .. هنا اخترنا جملة for ..
كود PHP:
for ($i=1$i<=$pagesnum$i++) { 
معنى الكود .. انه سيتم تنفيذ الكود الموجود داخل هذه الحلقة ما دام المتغير $i [ الذي قمنا بتحديد قيمته مبدئياً بالقيمة 1 ] أصغر من عدد الصفحات .. ومن ثم يتم زيادة قيمة المتغير 1 ..
وهذا يعني انه سيمر على الصفحات واحدة واحدة ..

الان نضع الكود التالي :
كود PHP:
    if ($i != $page) {
        
$z "<a href='"$_SERVER['PHP_SELF'] ."?page=$i'>$i</a>";
    } else {
        
$z "<u>$i</u>";
    }

    echo 
"[$z] "
في البداية نقوم بالتحقق من أن رقم الصفحة الحالية في الحلقة لا تساوي رقم الصفحة الحالية التي نتواجد فيها والمخزن رقمها في المتغير $page ..
اذا تحقق الشرط .. فإننا نقوم بطباعة رقم الصفحة على شكل رابط يحولنا إلى الصفحة التي نضغط عليها ..
أما إذا لم يتحقق الشرط [ أي أن الصفحة التي نريد طباعة رقمها تساوي الصفحة التي نتواجد فيها الان ] فإنه سيتم طباعة رقم الصفحة فقط دونما رابط ..

في النهاية نغلق عداد الحلقة .. بواسطة القوس التالي:
كود PHP:

أعتقد أن الفكرة واضحة وتطبيقها لن يصعب بإذن الله تعالى .. أي مشكلة أو استفسار أنا جاهز ..
تحياتي، sBForum

مصدر الدرس:
http://www.devpedia.org/articles/index.php?p=56






__________________
أحمد أبو النصر
Junior php Developer
+20166196074
أحمد أبو النصر غير متواجد حالياً   قديم 02-09-2006, 04:33 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#2 (permalink)  

ياشيخ الله يوفقك قمه في روعه تفصيل علي كيف كيف

قريته بشكل سريع لنا رجعه ثانية نقرا موضوع مع كاس شاهي وتطبيق

مشكور اخوي وياليت اي معلومه عندك لاتبخل بها






My Soul Mate غير متواجد حالياً   قديم 02-09-2006, 05:19 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Aug 2005-
#3 (permalink)  

العفو عزيزي My Soul Mate ...

لا تنسى تجيبلنا كاس شاي معك

وشكراً لمرورك وتعقيبك ... وان شاء الله انتظروا مني دروساً أخرى ..

تحياتي، sBForum






__________________
أحمد أبو النصر
Junior php Developer
+20166196074
أحمد أبو النصر غير متواجد حالياً   قديم 02-09-2006, 05:47 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Mar 2003-
#4 (permalink)  

شكراً أخي sBForum على الشرح
و هذا الكود يشبه إلى حد كبير الموجود في مكتبة الدروس php-ar.com
بالإضافة إلى السابق التالي و لإضافتها ..
كود PHP:
if($page 1)
{
$prev $page ;
echo
"<a href=".$PHP_SELF."?page=$prev>السابق</a>";
}

// هنا حلقة التكرار التي ذكرها الأخ sBForum

if($page $pagesnum)
{
$next $page ;
echo
"<a href=".$PHP_SELF."?page=$next>التالي</a>";

Dr.no






Dr.no غير متواجد حالياً   قديم 02-09-2006, 06:42 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#5 (permalink)  

جزاك الله خيراً

شرح جميل وخدمة حلوة






__________________
مكتبة كتب لتعليم ال PHP والبرمجة
www.7loul.com
حلول للبرمجة غير متواجد حالياً   قديم 02-09-2006, 09:57 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2005-
#6 (permalink)  

جزاك الله كل خير يا اخ اشرف

وكما قلتلك ضيف تعدد صفحات لقراء ملفات بمجلد

لانهم يحتاجونها فى برمجية اخ ابو مشاري :d


ربنا يكرمك ويوفقك

ويخليك لسوالف






2rabia.com غير متواجد حالياً   قديم 02-09-2006, 11:15 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Apr 2006-
#7 (permalink)  

يارك الله فيك اخي الكريم
هذا الدرس احتجته كثيرا كما تعلم...






عبد الواحد البشيري غير متواجد حالياً   قديم 03-09-2006, 01:03 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Apr 2006-
#8 (permalink)  

جزاك الله خير اخي أشرف .. وبارك الله فيك

وجاري التطبيق ان شاء الله






ابو عابد غير متواجد حالياً   قديم 03-09-2006, 06:18 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Aug 2005-
#9 (permalink)  

اخي Dr.no شكراً لإضافتك الرائعة .. جزاك الله خيراً عزيزي .. وأعتذر ان كان هناك تشابه إلى حد ما بين الموضوعين لأنني لم أشاهد ذاك الموضوع ..

اخي حلول للبرمجة ، شكراً لك عزيزي لمرورك وتعقيبك .. أتمنى تكون استفدت

اخ 2rabia.com .. تسلم حبيبي ... اممم .. بالنسبة لفكرتك .. جاري تطبيقها وسينزل شرح قريب ان شاء الله من قبل اثنين في سوالف سوفت .. أنا وواحد تاني اكيد انت عارفه ...

اخي Nadorino تسلم حبيبي .. وشكراً لانك جبت لي فكرة طرح مثل هذا الدرس ..

اخي ابو عابد ،، تسلم حبيبي .. وتطبيقاً موفقاً إن شاء الله تعالى وشكراً لمرورك وتعقيبك

تحياتي، sBForum






__________________
أحمد أبو النصر
Junior php Developer
+20166196074
أحمد أبو النصر غير متواجد حالياً   قديم 03-09-2006, 09:41 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Oct 2005-
#10 (permalink)  

واو اكتير من روعه جزاك الله خير اخي (:






الجنيدي غير متواجد حالياً   قديم 03-09-2006, 09:49 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Aug 2005-
#11 (permalink)  

تسلم اخي الجنيدي .. وشكراً لمتابعتك

تحياتي ، sBForum






__________________
أحمد أبو النصر
Junior php Developer
+20166196074
أحمد أبو النصر غير متواجد حالياً   قديم 03-09-2006, 09:59 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Feb 2002-
#12 (permalink)  

ممتاز أخي sBforum نفع الله بك .. تعدد صفحات واضح وشرحك ماخلى لبس في الموضوع

فيه موضوع قريب من شغلة تعدد الصفحات .. ولعب براسي عندما بدأت في كتابته .. وهو
Next و Previous لرقم ID الحالي .. مثلا عندي صورة قمت بعرضها في الصفحة .. وكانت الصورة تحمل رقم ID=5

ابغا أسوي السابق والتالي بحيث ينقلني للصورة التي قبها أو التي بعدها ..

طريقة wher ID=ID-1 أو ID+1 ماتنفع .. لأنه فرضا أن الصورة اللي قبلها أو بعدها مباشرة كانت محذوفة وكان ترقيم الاي دي بالشكل هذا 2 ثم 5 ثم 10

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


مالطريقة المثالية في رأيكم لعمل مثل ذلك






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 03-09-2006, 10:31 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Aug 2005-
#13 (permalink)  

اهلاً اخي Dr.Server ..

تسلم عزيزي لردك الجميل .. ترى افرحني والله ..

لا لا .. سؤالك بعد أفرحني أكثر .. ..

المهم يا سيدي العزيز .. تفكيرك منطقي وسليم 100% ... حاولت التفكير بشكل سريع جداً ...

وجدت الفكرة بشكل نظري كالتالي :

بكل بساطة .. تقوم بترتيب صفوف القاعدة تصاعدياً حسب طريقة عرضك .. ومن ثم تضع شرط لجلب النتائج التي لها رقم id اكبر من رقم النتيجة الحالية .. وتقوم بتحديد اول نتيجة فقط .. وهي فعلياً النتيجة التالية .. وإن لم يكن هناك صف لا تظهر الرابط ..

والنتيجة السابقة بنفس الفكرة ..

تطبيق عملي سريع [ بدون تجربة ] :
كود PHP:
$sql "select ID from `table` where ID > '$id' order by ID asc limit 1";
$result mysql_query($sql);
while (
$row mysql_fetch_array($result)) {
    echo 
"<a href="test.php?ID=". $row["ID"] ."'>النتيجة التالية</a>";
}

echo " ----- ";

$sql = "select ID from `table` where ID < '
$id' order by ID desc limit 1";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
    echo "<a href="test.php?ID=". $row["ID"] ."'
>النتيجة السابقة</a>";

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






__________________
أحمد أبو النصر
Junior php Developer
+20166196074
أحمد أبو النصر غير متواجد حالياً   قديم 03-09-2006, 10:41 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: May 2006-
#14 (permalink)  

السلام عليكم
sBforum

مجهود رائع استاذي الف شكر لك والله يوفقك ان شاء الله شروحاتك جدا روعة

للأمام
تقبل مروري

وحيد ،






الإمبراطور وحيد غير متواجد حالياً   قديم 04-09-2006, 10:45 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Aug 2005-
#15 (permalink)  

شكراً عزيزي وحيد .. تسلم عزيزي .. وأشكرك لمرورك وتعقيبك

تحياتي، sBForum






__________________
أحمد أبو النصر
Junior php Developer
+20166196074
أحمد أبو النصر غير متواجد حالياً   قديم 04-09-2006, 03:18 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jun 2004-
#16 (permalink)  

مشكور اخوي والله يعطيك العاافية




هل فيه امكانية نستغني عن الاستعلام الثاني

وهل يمكننا طباعة تعدد الصفحات قبل النتائج وبعدها


تحياتي






__________________
سبحان الله وبحمده ..... سبحان الله العظيم

اول موقع متخصص في جمع البرامج المعربة
الريان نت للبرامج المعربة
www.ar1ar.com
ابو مشاري 97 غير متواجد حالياً   قديم 05-09-2006, 01:15 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: May 2006-
#17 (permalink)  

العفو اخوي اشرف

تصدق الآن فقط انتبهت للأسم

وعلى فكرة انت سمٍيي

ارق التحايا






الإمبراطور وحيد غير متواجد حالياً   قديم 05-09-2006, 09:44 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Aug 2005-
#18 (permalink)  

العفو اخي ابو مشاري 97 ...بالنسبة للاستعلام الثاني لا أعتقد أنه يمكن الاستغناء عنه ما دمنا نريد عرض أرقام الصفحات لأننا نريد الحصول على عدد النتائج التي نريد تقسيمها في الصفحات ..

أما بالنسبة لعرض ارقام الصفحات ، فبالطبع ذلك ممكن ..

قم أولاً بنقل الاستعلام الثاني إلى بداية البرنامج أو في أي مكان قبل طباعة النتائج ، والاستعلام هو :
كود PHP:
$pagesnum = @ceil(mysql_num_rows(mysql_query("select `id` from `table`")) / $perpage); 
ملاحظة : قم بنقله وليس نسخه .. يعني احذف الثاني حتى لانه ليس له داعي بل إنه يزيد من بطء البرنامج ومن الضغط على السيرفر .. على كل حال .. تبقى الكود التالي قم بـ "نسخه" :
كود PHP:
for ($i=1$i<=$pagesnum$i++) {
    if (
$i != $page) {
        
$z "<a href='"$_SERVER['PHP_SELF'] ."?page=$i'>$i</a>";
    } else {
        
$z "<u>$i</u>";
    }

    echo 
"[$z] ";

وقم بلصقه بعد السطر التالي أو في المكان الذي ترغب بعرضه فيه :
كود PHP:
 $startpoint = ($page $perpage) - $perpage
وإن شاء الله تجد ما يسرك .... وشكراً لمرورك وتعقيبك ..

اخي الإمبراطور وحيد ... مش مشكلة ... وشكراً لكلامك الطيب وهذا يدل على طيب أصلك ...
شعور التحية متبادل عزيزي .. لك أطيبها مني وأغلاها ..

تحياتي للجميع ، sBForum






__________________
أحمد أبو النصر
Junior php Developer
+20166196074
أحمد أبو النصر غير متواجد حالياً   قديم 05-09-2006, 02:30 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jun 2004-
#19 (permalink)  

مشكور يا غالي

جربت الكود وفعلا راااائع وتسلم ايدينك


اقترح عليك التالي

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


تحياتي لك واتمنى تقبل الاقتراح






__________________
سبحان الله وبحمده ..... سبحان الله العظيم

اول موقع متخصص في جمع البرامج المعربة
الريان نت للبرامج المعربة
www.ar1ar.com
ابو مشاري 97 غير متواجد حالياً   قديم 08-09-2006, 12:55 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Feb 2002-
#20 (permalink)  

ماشاء الله عليك .. مرجع sql أخي sBForum

جزاك الله خير ونفع بك وجعل كل حرف تكتبه لنفع إخوتك في ميزان حسانتك يا أمير






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 08-09-2006, 01:23 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Aug 2005-
#21 (permalink)  

اخوي ابو مشاري 97 .. شكراً لك

وكل شي ممكن نعمله .. لكن ان شاء الله اذا لقيت وقت اعمله ..

Dr.Server ... تسلم حبيبي .. وان شاء الله في ميزان حسناتك وحسنات الجميع يا رب

تحياتي، sBForum






__________________
أحمد أبو النصر
Junior php Developer
+20166196074
أحمد أبو النصر غير متواجد حالياً   قديم 08-09-2006, 10:37 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Apr 2006-
#22 (permalink)  

اخي
خرجت لي مشكلة بسيطة وهي
عندي 46 مصفوفة في القاعدة عندما اقسمها على 10
تعطيني اسفل النتائج 4 صفحات فقط
في الحقيقة لازم يعطيني 5 صفحات
انظر الى الرابط http://abdelouahid.free.fr/dalil/
كود php



كود PHP:
        <?
include("config.php");
$page=(int)(!isset($_GET["page"])?1:$_GET["page"]);
$perpage=10;
$startpoint=($page $perpage)-$perpage;

$natija=mysql_query("select * from dalil limit $startpoint,$perpage");

$num=@ceil(mysql_num_rows(mysql_query("select id from dalil")));
 echo 
"&Uacute;&Iuml;&Iuml; &Ccedil;&aacute;&atilde;&aelig;&Ccedil;&THORN;&Uacute; &aring;&aelig;: $num";
 
?>
 
   <table>
    <tr>
        <td id="td4">&Ecirc;&Ccedil;&Ntilde;&iacute;&Icirc; &Ccedil;&Icirc;&Ntilde; &Ecirc;&Uacute;&Iuml;&iacute;&aacute;</td>
        <td id="td3" >&Ccedil;&Oacute;&atilde; &Ccedil;&aacute;&atilde;&aelig;&THORN;&Uacute;</a></a></td>

    </tr>
</table>
 <?
if(!$page){
    echo
"ghalat";
}
if(
$num==0){
    echo
"hahah";
}
while(
$row=mysql_fetch_array($natija))
{
    
$name=$row['name'];
    
$lien=$row['lien'];
    
$text=$row['text'];
    
$id=$row['id'];
    
$date=$row['date'];

    include(
"tableshow.html");
}

$qisma=$num/$perpage;
for(
$i=1;$i<$qisma;$i++){
    if(
$i!=$page){
    echo 
"<a href='./?page=".$i."'>".$i."</a>";
}
else
{
 echo 
$i;
}

}
mysql_close();
include(
"footer.html");



?>
أتمنى انكم فهمتم المشكلة






عبد الواحد البشيري غير متواجد حالياً   قديم 21-09-2006, 02:50 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#23 (permalink)  

والله اللي لاحظته انه - ملاحظة انا ماطبقت الدرس-
هذا الكود من الدرس
كود PHP:
$pagesnum = @ceil(mysql_num_rows(mysql_query("select `id` from `table`")) / $perpage); 
وهذا حقك
كود PHP:
$num=@ceil(mysql_num_rows(mysql_query("select id from dalil"))); 
قارن بينهم وتعرف ..

ايضا
كود PHP:
for ($i=1$i<=$pagesnum$i++) { 
وتبعك

كود PHP:
for($i=1;$i<$qisma;$i++){ 
<=



جرب وعلمنا النتيجة






__________________
موقع رياض القرآن متخصص بالقرآن الكريم
WwW.Ryadh-Quran.NeT
لمراسلتي
رياض القرآن غير متواجد حالياً   قديم 21-09-2006, 06:34 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#24 (permalink)  

أهاا .. انت سويت الخطوة الاولى في خطوتين ... اذن
كود PHP:
 $num=@ceil(mysql_num_rows(mysql_query("select id from dalil")));
$qisma=$num/$perpage
تو اني انتبه لها ..

اتوقع من اشاره أصغر من لازم بعدها يساوي ..






__________________
موقع رياض القرآن متخصص بالقرآن الكريم
WwW.Ryadh-Quran.NeT
لمراسلتي
رياض القرآن غير متواجد حالياً   قديم 21-09-2006, 06:41 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Apr 2006-
#25 (permalink)  

اضفت اليها يساوي وبقي الحال على ما هو عليه
على العموم بارك الله فيك اخي على المساعدة






عبد الواحد البشيري غير متواجد حالياً   قديم 21-09-2006, 09:30 PM
رد مع اقتباس
رد