شوّيت: شبكة كرة قدم اجتماعية




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

موضوع مغلق
 
LinkBack أدوات الموضوع
عضو نشيط
#1  
كائن تعدد الصفحات (2)

السلام عليكم ورحمة الله
النسخة الثانية من كائن تعدد الصفحات بعد التطوير المهم.

القديم
http://www.rafiaphp.com/news.php?action=view&id=33

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

الارقام التي يطبعها , رقم الصفحة الحالية وقبلها رقم صفحة وبعدها صفحتان
ثم يطبع الصفحة الاولى والصفحة الاخيرة
وهنا مثال مع النص البرمجي للكائن
بعد التطوير
http://www.rafiaphp.com/rafia/exampl...start=9&page=4

طريقة عمل الكائن
كود PHP:
<?
//ادراج ملف  الكائن
require_once('pager.php');
//انشاء اتصال بقاعدة البينات
mysql_pconnect("$dbserver""$dbuser""$dbpword");
mysql_select_db("$dbname");
//انشاء تواجد للكائن ثم ادخل عدد السجلات في كل صفحة
$Page = new Pager("5");
//هنا قم بتمرير اسم الجدول وحفظ نتيجة الاستعلام في متغير
$result $Page->PageResult("rafia_news");
//استخراج النتائج في حلقة
while($row mysql_fetch_array($result))
{
     
//قم بطباعة النتائج
}
//ارقام الصفحات والروابط  ضعها في اي مكان ترغب
$Page->PageNum();
اتمنى ان يفيد الجميع






rafia is offline   قديم 13-04-2003, 01:05 PM
عضو فعال
#2  

مرحباً بك في سوالف وشكرا على هذا الكائن






__________________
البريد
almuslim@gmail.com
الماسنجر
muslem@php.net
Mr.Muslem is offline   قديم 13-04-2003, 01:25 PM
عضو سوبر نشيط
#3  

بارك الله فيك أخي رفيع، وإلى الأمام






__________________
عزوز الحسني
أبو ماجد الصارم is offline   قديم 13-04-2003, 03:12 PM
عضو نشيط
#4  

طريقة جميلة أخي rafia، ولكن ما رأيك في أن تطور هذا الكائن وتجعله مستقلاً عن استعلام MySQL بحيث يمكن استخدامه مع أي شيء آخر، كأن تقول:
كود PHP:

$rpp 
5;
$rows 200;
$currentPage = (integer) $_GET['page'];

$pageObj = new Pager($rpp$rows$currentPage);

$rowStart $pageObj->rowsStart;
$rowLimit $pageObj->rowsLimit

// يمكن استخدام استعلام مثلاً
mysql_query("....... LIMIT $rowStart, $rowLimit")

echo 
$pageObj->pageLinks($PHP_SELF$currentPage); 
أعتقد أنك فهمت قصدي في المثال






__________________
visualmind (at) php.net
أعتذر كثيراً عن غيابي من المشاركات والذي لن يطول أكثر إن شاء الله.
VisualMind is offline   قديم 14-04-2003, 12:31 AM
عضو نشيط
#5  

Mr.Muslem
الله يبقيك ويطول في عمرك شرف لي ان اكون منكم

___
أبو ماجد الصارم
هذا جزء من ما تعلمته منك وانا واحد من تلاميذك

___
VisualMind
اقتراح جميل وان شاء الله اصلحة قريبا وفهمت قصدك من المثال
لكن مثالك اثار عندي بعض الاسائله

$_GET هذا مقبض اعرف عنه انه للنماذج اذا كان get
وانت سحبت به 'page' الموجودة في عنوان الصفحة
هل استطيع سحب قيم من العنوان بهذه الطريقة حتى وان لم تكن
مستقبلة من نموذج

شكرا على الاقتراح واعدك ان اطور الكائن على ما تفضلت به






__________________
مجموعة بي اتش بي العربية www.php4arab.org
البوابة العربية www.arabportal.net
rafia is offline   قديم 14-04-2003, 06:04 PM
عضو نشيط
#6  

استنتاجك صحيح أخي rafia،
عملية الإرسال عن طريق نموذج باستخدام get تقوم بتحويل القيم المدخلة إلى متسلسلة بعد علامة الاستفهام في عنوان الصفحة الهدف، ويعني ذلك أنه بالإمكان الاكتفاء بوضع قيم في العنوان بدلاً من الإرسال من نموذج.
يمكنك استخدام GET_$ أو HTTP_GET_VARS$ دائماً لقراءة قيم البيانات المعطاة عن طريق العنوان.

وبالمناسبة حول كل من GET و POST هناك درس شرحت فيه الفرق بين الطريقتين لإرسال المعطيات ومعناهما هنا http://www.arabteam2000.com/vb/showt...threadid=12246






__________________
visualmind (at) php.net
أعتذر كثيراً عن غيابي من المشاركات والذي لن يطول أكثر إن شاء الله.
VisualMind is offline   قديم 17-04-2003, 12:01 AM
عضو نشيط
#7  

مشكور استاذ صلاح الموضوع جميل جدا

لكن بقي لدي سؤال حاولت الاجابة عليه بعدة طرق لكن اشعر ان حلي غير مناسب او ان هناك حل افضل
وهو : اذا حبيت اعرف هل HTTP_POST_VARS$
قادمة من نفس الموقع او من مكان خارجي ,
من احد الحلول استخدمة HTTP_REFERER لتعرف على عنوان الصفحة السابقة وبحثت فيه عن اسم الموقع
لكن هل هناك سبيل لمنع اي بينات من خارج الموقع بطريقة اوثق ؟

وشكرا مرة اخرى






__________________
مجموعة بي اتش بي العربية www.php4arab.org
البوابة العربية www.arabportal.net
rafia is offline   قديم 17-04-2003, 04:43 AM
عضو نشيط
#8  

rafia،
يمكنك الاستعانة بالجلسات، قم بتسجيل جلسة في بداية الصفحة الأولى، وسجل متغيراً على مستوى الجلسة يحدد أن المستخدم دخل إلى الصفحة الأولى ويشمل رقم IP الدخول للصفحة الأولى، وعند الإرسال إلى الصفحة الثانية قم بالتأكد من متغير الجلسة نفسه ورقم IP الداخل للصفحة الأولى وقارنه بالرقم IP للمرسل.

هذه الطريقة تمنع بنسبة عالية جداً وجود إرسال من مكان آخر، لكنها لا تمنع ذلك مائة بالمائة.






__________________
visualmind (at) php.net
أعتذر كثيراً عن غيابي من المشاركات والذي لن يطول أكثر إن شاء الله.
VisualMind is offline   قديم 23-04-2003, 01:54 PM
عضو فعال
#9  

التحميل من فين ؟؟؟






__________________
البريد
almuslim@gmail.com
الماسنجر
muslem@php.net
Mr.Muslem is offline   قديم 24-05-2003, 11:15 AM
عضو نشيط
#10  

جزاك الله خير أخوي rafia

على جهودكم والله يوفقك في الدنيا والآخرة






__________________
>> .... <<
^FaWaZ.NeT^ is offline   قديم 25-05-2003, 04:09 AM
عضو نشيط
#11  

معليش الروابط اصبحت خطأ
بسبب نقل الموقع
وهنا الكائن والمثال

جزاك الله خير اخوي FaWaZ.NeT






الملفات المرفقة
نوع الملف: zip pager.zip‏ (1.9 كيلوبايت, 168 مشاهدة)
__________________
مجموعة بي اتش بي العربية www.php4arab.org
البوابة العربية www.arabportal.net
rafia is offline   قديم 25-05-2003, 07:21 AM
عضو فعال
#12  

شكراً على الموضوع الجميل






__________________
System
KaRiM_NET is offline   قديم 25-05-2003, 04:08 PM
موضوع مغلق


 

أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح



جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 06:44 AM.