المساعد الشخصي الرقمي

عرض الإصدار الكامل : مساعدة مساعدة في لغة php



همس الايام
27/12/2015, 12:04 PM
السلام عليكم ورحمة الله وبركاته

اريد مساعدة من المبرمجين الخبراء

عملت برنامج بسيط بهذي اللغة

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

كل صفحة تحتوي على 10 سجلات كل سجل يحمل رقم من 1-10 في الصفحة الاولى

باستخدام دالة ++ count$

لما افتح الصفحات الثانية تظهر معي السجلات بنفس ارقام الصفحة الاولى اللي هي من 1-10

وانا اريد السجلات مثلا في الصفحة الثانية تبدأ من 11-20 والصفحة الثالثة تبدأ من 21-30

وهكذا

عسى شرحي واضح :)

اتمنى من المساعدة منكم في حل هذه المشكلة

Xade
28/12/2015, 07:24 AM
هئا يعني الارقام ثابته وما تتغير.
كيف تعرضي هالارقام؟





$numFrom = $pagenum * 10 + 1;
$numTo = $pagenum * 10 + 10;
echo "$numFrom - $numTo";

همس الايام
28/12/2015, 11:51 AM
هئا يعني الارقام ثابته وما تتغير.
كيف تعرضي هالارقام؟





$numFrom = $pagenum * 10 + 1;
$numTo = $pagenum * 10 + 10;
echo "$numFrom - $numTo";



اخوي هذي الارقام تسلسلية يعني كلما اضيف سجل ياخذ رقم معين

وهذا الرقم عملت له دالة count ++

والكود اللي اعطيتني اياه ما ضبط معي

Xade
28/12/2015, 12:47 PM
انا اكتب الكود اعتمادا على التخمين فقط.
اتمنى هذا يشتغل معك. الصقيه في مكان اظهار الارقام





$numFrom = $count * 10 + 1;
$numTo = $count * 10 + 10;
echo "$numFrom - $numTo";

همس الايام
28/12/2015, 01:17 PM
انا اكتب الكود اعتمادا على التخمين فقط.
اتمنى هذا يشتغل معك. الصقيه في مكان اظهار الارقام





$numFrom = $count * 10 + 1;
$numTo = $count * 10 + 10;
echo "$numFrom - $numTo";



اخوي جربت الكود وما ضبط معي

Xade
28/12/2015, 01:41 PM
.السموحة اختي ما بقدر اساعدك بدون ما اشوف اي كودات او شي.
لانه كله امشي على التخمين.
على حسب شرحك, المشكلة تكون في اظهار هالارقام بشكل صحيح اعتمادا على count$

الله يوفقك.

The Pursuit of Happiness
29/12/2015, 02:11 PM
آختي الكريمة

هذا جزء من سكربت كنت مسونه.. و شغال ١٠٠٪





$homepage = "http://mywebsite.com/index.php";
$no_recs_per_page = 6;

if (isset($_GET['page'])) {
$page = $_GET['page'];
if(preg_match('/^\d+$/',$page)) {
echo "";
}
else
header('Location:$homepage');

$lastrec = $page * $no_recs_per_page;
$firstrec = $lastrec - $no_recs_per_page;
}

else {
$page = 1;
$lastrec = $no_recs_per_page;
$firstrec = 0;
}
$query1 = mysql_query("SELECT * FROM table_name ORDER BY fieldname DESC Limit $firstrec, $no_recs_per_page");
$count = mysql_num_rows($query1);
$div = $count/$no_recs_per_page;
$lastpage = ceil($div);

while ($row = mysql_fetch_array($query1)) {
echo "
//your records here
";

}

echo "<br>Page: ";
foreach (range(1, $lastpage, 1) as $pageno ){
echo "<a href='$homepage?page=$pageno'>$pageno</a>";
}



التعديلات المطلوبة منك في الآسطر
١-٢-٢١-٢٨

في السطر ١: تستبدلي المكتوب بعنوان صفحتك الآولى
في السطر ٢: تستبدلي الرقم ٦ بعدد النتائج في الصفحة الواحدة
في السطر ٢١: تستبدلي table_name بإسم الجدول معك .. و fieldname بإسم الحقل اللي على آساسه يصير ترتيب النتائج.. ولو حبيتي تستبدلي ال DESC بال ASC (تصاعدي آو تنازلي)
في السطر ٢٨: تقومي بكتابة تعريفات الحقول قبل echo و بعدها تعملي echo للي تريديه.


لو ظهر لك آي خطأ تسعدني المساعدة.
دمت بخير.

همس الايام
29/12/2015, 06:45 PM
آختي الكريمة

هذا جزء من سكربت كنت مسونه.. و شغال ١٠٠٪





$homepage = "http://mywebsite.com/index.php";
$no_recs_per_page = 6;

if (isset($_GET['page'])) {
$page = $_GET['page'];
if(preg_match('/^\d+$/',$page)) {
echo "";
}
else
header('Location:$homepage');

$lastrec = $page * $no_recs_per_page;
$firstrec = $lastrec - $no_recs_per_page;
}

else {
$page = 1;
$lastrec = $no_recs_per_page;
$firstrec = 0;
}
$query1 = mysql_query("SELECT * FROM table_name ORDER BY fieldname DESC Limit $firstrec, $no_recs_per_page");
$count = mysql_num_rows($query1);
$div = $count/$no_recs_per_page;
$lastpage = ceil($div);

while ($row = mysql_fetch_array($query1)) {
echo "
//your records here
";

}

echo "<br>Page: ";
foreach (range(1, $lastpage, 1) as $pageno ){
echo "<a href='$homepage?page=$pageno'>$pageno</a>";
}



التعديلات المطلوبة منك في الآسطر
١-٢-٢١-٢٨

في السطر ١: تستبدلي المكتوب بعنوان صفحتك الآولى
في السطر ٢: تستبدلي الرقم ٦ بعدد النتائج في الصفحة الواحدة
في السطر ٢١: تستبدلي table_name بإسم الجدول معك .. و fieldname بإسم الحقل اللي على آساسه يصير ترتيب النتائج.. ولو حبيتي تستبدلي ال DESC بال ASC (تصاعدي آو تنازلي)
في السطر ٢٨: تقومي بكتابة تعريفات الحقول قبل echo و بعدها تعملي echo للي تريديه.


لو ظهر لك آي خطأ تسعدني المساعدة.
دمت بخير.

مشكور اخوي وجزاك الله خيرا

المشكلة انحلت ولله الحمد

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


$count = ($currentPage -1) * 10 + 1

currentPage$ هي رقم الصفحة

10 هي عدد السجلات في كل صفحة

واشكر اخوي xade هو اللي ساعدني وجزاه الله كل خير