السلام عليكم
كيف اعرض بيانات حقل معين بعد عدد معين من البيانات مثلا (id) عل شكل صفحات يتم يتم عرض ارقام الصفحات اسفل الصفحة
مثلا
1|2|3|4 >>>
اتمنى تكونوا فهمتوا قصدي :shy:
وشكرا
السلام عليكم
كيف اعرض بيانات حقل معين بعد عدد معين من البيانات مثلا (id) عل شكل صفحات يتم يتم عرض ارقام الصفحات اسفل الصفحة
مثلا
1|2|3|4 >>>
اتمنى تكونوا فهمتوا قصدي :shy:
وشكرا
__________________
w w w . o n l y p s . c o m
================
https://www.facebook.com/luaysalah83
وعليكم السلام ورحمة الله وبركاته
لا أدري اذا كنت فهمتك صح ولا لأ
بس على حسب فهمي يمكنك عمل تعدد الصفحات مثلاً عن طريق روابط الصفحات تكون كالتالي:
صفحة رقم 1 --> يكون رابطها index.php?start=1
صفحة رقم 2 --> يكون رابطها index.php?start=16
وفي الملف index.php
تعمل الآتي
نتيجة هذا الاستعلام ستكون 15 صف ابتداءاً من الصف الذي رقمه يساوي startكود PHP:
// استقبال القيمة start
$start = $_GET['start'];
$qr = @mysql_query("SELECT * FROM table LIMIT $start, 15");
أرجو ان اكون قد وفقت في الشرح لك
ولأي استفسار تفضل
تحياتي
__________________
مدونتي
صحيح اخوي وهذا الكود عدلته وماظهر معي
كود PHP:
<?
include 'config.php';
$result=mysql_query('SELECT * FROM lu2y ORDER BY id desc');
// استقبال القيمة start
$start = $_GET['start'];
$qr = @mysql_query("SELECT * FROM lu2y LIMIT $start, 3");
while($data=mysql_fetch_array($result)){
$txt = $data[txt];
$id = $data[id];
echo "$txt<br>";
echo "<br><a href='edit.php?id=$id'>تعديل</a>||<a href='del.php?id=$id'>حذف</a><br><br> ";
}
echo "<a href='add.php'>إضافة</a>";
echo "$start";
?>
التعديل الأخير تم بواسطة DESIGN-1983 ; 16-08-2006 الساعة 12:56 PM سبب آخر: تعديل
__________________
w w w . o n l y p s . c o m
================
https://www.facebook.com/luaysalah83
إستبدل
بـ:كود PHP:
while($data=mysql_fetch_array($result)){
كود PHP:
while($data=mysql_fetch_array($qr)){
__________________
مدونتي
ما زبطت معي
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\vb\index.php on line 14
__________________
w w w . o n l y p s . c o m
================
https://www.facebook.com/luaysalah83
بالنسة للخطأ ألي ضهر لك رح تأكد من مطابقة أسم الجدول في قاعدة البيانات إذا كان متطابق تأكد من أن المتغير $start ذو قيمة صحيحة من ناحيتين الأولى أنه رقم والثانية أنه أقل من عدد الحقول الموجودة في قاعدة البيانات بالنسبة للمشكلة الاولى فأستعمل الطريقة هذي :
هذي العملية راح تجعل للمتغير الخاص بحدود الصفحة قيمة صحيحةكود PHP:
$start = $_GET[start] ? floor(abs(urlencode($_GET[start]))) : 1;
المشكلة الثانية حلها هو في الكود التالي :
أخيرا فيه خطأ عندك في الاستعلامات وهو تكرارها وبهذي الطريقة ماراح تستفيد من خواص كل استعلام لكن لو دمجتها كان صار افضل والطريقة كالتالي :كود PHP:
$numberfild = mysql_fetch_assoc(mysql_query("SELECT count(id) FROM lu3y"));
if(floor(abs(urlencode($_GET[start]))) < ($numberfild["count(id)"])){
// كامل العمليات السابقة
}else{
echo "اتبعت رابط خاطء";
}
الكود النهائي للسيكريبت :كود PHP:
$qr = @mysql_query("SELECT * FROM lu2y ORDER BY id desc LIMIT $start, 3");
كود PHP:
<?
include 'config.php';
$numberfild = mysql_fetch_assoc(mysql_query("SELECT count(id) FROM lu3y"));
if(floor(abs(urlencode($_GET[start]))) < ($numberfild["count(id)"])){
$result=mysql_query('SELECT * FROM lu2y ORDER BY id desc');
// استقبال القيمة start
$start = $_GET[start] ? floor(abs(urlencode($_GET[start]))) : 1;
$qr = @mysql_query("SELECT * FROM lu2y ORDER BY id desc LIMIT $start, 3");
while($data=mysql_fetch_array($qr)){
$txt = $data[txt];
$id = $data[id];
echo "$txt<br>";
echo "<br><a href='edit.php?id=$id'>تعديل</a>||<a href='del.php?id=$id'>حذف</a><br><br> ";
}
echo "<a href='add.php'>إضافة</a>";
echo "$start";
}else{
echo "اتبعت رابط خاطء";
}
?>
هذا الرد كخطوة أولى عموما إذا زان كل شيء معك راح نروح للخطوة ألي بعدها وهو إدراج روابط للصفحات
__________________
لطلب خدمة راسلني على البريد التالي :
add-1st@hotmail.com
الف شكر لك أخوي ADD بارك الله فيك الآن ظهرت معي ا لصفحة بدون اية مشاكل بانتظار كيفية اظهار روابط الصفحات
معذرة راح اتعبكم معي لاني مبتدئ بالـ php
الف شكر مره اخرى لتفاعلك والشكر موصول لأخي mahmoud009
تقبلوا فائق احترامي وتقديري
__________________
w w w . o n l y p s . c o m
================
https://www.facebook.com/luaysalah83
طالما الحمد لله كلش مشي معك تمام خلنا الحين نبدأ في الخطوة الثانية وهي عمل روابط الصفحات الطريقة كالتالي :
1- نحتاج لتطوير الكود بحيث أنه يعرض كمية من النتايج بالتطريقة التالية :
نعدل هذا السطر :
إلى :كود PHP:
if(floor(abs(urlencode($_GET[start]))) < ($numberfild["count(id)"])){
و هذا السطر :كود PHP:
if(floor(abs(urlencode($_GET[start]))) < (($numberfild["count(id)"])/3)+1){
إلى :كود PHP:
$start = $_GET[start] ? floor(abs(urlencode($_GET[start]))) : 1;
2- الآن راح نسوي عداد الصفحات الكود راح ينضاف بعد هذا السطر :كود PHP:
$start = $_GET[start] ? (floor(abs(urlencode($_GET[start])))-1) * 3 : 1;
الكود :كود PHP:
echo "<a href='add.php'>إضافة</a>";
echo "$start";
كود PHP:
<?
if($_GET[start] <= 3){
$startpoint = 1;
}else{
if(++$_GET[start] < ($numberfild["count(id)"]/9)+1){
if(2+$_GET[start] < (($numberfild["count(id)"]/9)+1)){
$startpoint = $_GET[start]-2;
}else{
$startpoint = $_GET[start]-3;
}
}else{
$startpoint = $_GET[start]-4;
}
}
?>
<table id="input" style="padding:4px; border:0px; width: 100%;">
<tr>
<td style="width: 25%;"><?if($startfild == 0){?><< السابق<?}else{?><a class="link" href="personal.php?start=<?=$_GET[start] - 1?>"><< السابق</a><?}?></td>
<?
static $numlinkpage = 1;
$numlinkpage = $startpoint;
static $totallink = 0;
while($numlinkpage < ($numberfild["count(id)"]/9)+1 and ($totallink != 5)){?>
<td><?if($numlinkpage == $_GET[start]){echo " $numlinkpage ";}else{?><a class="link" href="personal.php?start=<?=$numlinkpage?>"> <?=$numlinkpage?> </a><?}?></td>
<?
$totallink++;
$numlinkpage++;
}?>
<td style="width: 25%;"><?if(($startfild+9) >= $numberfild["count(id)"]){?>التالي >><?}else{?><a class="link" href="personal.php?start=<?=1 + $_GET[start]?>">التالي >></a><?}?></td>
</tr>
</table>
الكود النهائي راح يكون :
كود PHP:
<?
include 'config.php';
$numberfild = mysql_fetch_assoc(mysql_query("SELECT count(id) FROM lu3y"));
if(floor(abs(urlencode($_GET[start]))) < (($numberfild["count(id)"])/3)+1){
// استقبال القيمة start
$start = $_GET[start] ? (floor(abs(urlencode($_GET[start])))-1) * 3 : 1;
$qr = @mysql_query("SELECT * FROM lu2y ORDER BY id desc LIMIT $start, 3");
while($data=mysql_fetch_array($qr)){
$txt = $data[txt];
$id = $data[id];
echo "$txt<br>";
echo "<br><a href='edit.php?id=$id'>تعديل</a>||<a href='del.php?id=$id'>حذف</a><br><br> ";
}
echo "<a href='add.php'>إضافة</a>";
echo "$start";
if($_GET[start] <= 3){
$startpoint = 1;
}else{
if(++$_GET[start] < ($numberfild["count(id)"]/9)+1){
if(2+$_GET[start] < (($numberfild["count(id)"]/9)+1)){
$startpoint = $_GET[start]-2;
}else{
$startpoint = $_GET[start]-3;
}
}else{
$startpoint = $_GET[start]-4;
}
}
?>
<table id="input" style="padding:4px; border:0px; width: 100%;">
<tr>
<td style="width: 25%;"><?if($startfild == 0){?><< السابق<?}else{?><a class="link" href="personal.php?start=<?=$_GET[start] - 1?>"><< السابق</a><?}?></td>
<?
static $numlinkpage = 1;
$numlinkpage = $startpoint;
static $totallink = 0;
while($numlinkpage < ($numberfild["count(id)"]/9)+1 and ($totallink != 5)){?>
<td><?if($numlinkpage == $_GET[start]){echo " $numlinkpage ";}else{?><a class="link" href="personal.php?start=<?=$numlinkpage?>"> <?=$numlinkpage?> </a><?}?></td>
<?
$totallink++;
$numlinkpage++;
}?>
<td style="width: 25%;"><?if(($startfild+9) >= $numberfild["count(id)"]){?>التالي >><?}else{?><a class="link" href="personal.php?start=<?=1 + $_GET[start]?>">التالي >></a><?}?></td>
</tr>
</table>
<?
}else{
echo "اتبعت رابط خاطء";
}
?>
__________________
لطلب خدمة راسلني على البريد التالي :
add-1st@hotmail.com
جزاك الله الف خير اخي
الآن رابط الصفحات يظهر حتى لو كانت البيانات صفحة واحده ويظهر لي رابط الصفحة رقم واحد كيف لي ان اخفيه ويظهر في حال كانت الصفحات اكثر من واحده
والف شكر لك
__________________
w w w . o n l y p s . c o m
================
https://www.facebook.com/luaysalah83
فيه خطأ بسيط في السطر هذا :
بدله بهذا :كود PHP:
$start = $_GET[start] ? (floor(abs(urlencode($_GET[start])))-1) * 3 : 1;
وهذا :كود PHP:
$start = $_GET[start] ? (floor(abs(urlencode($_GET[start])))-1) * 3 : 1;
بهذا :كود PHP:
<td style="width: 25%;"><?if($startfild == 0){?><< السابق<?}else{?><a class="link" href="personal.php?start=<?=$_GET[start] - 1?>"><< السابق</a><?}?></td>
وهذا :كود PHP:
<td style="width: 25%;"><?if($start == 0){?><< السابق<?}else{?><a class="link" href="personal.php?start=<?=$_GET[start] - 1?>"><< السابق</a><?}?></td>
بهذا :كود PHP:
<td style="width: 25%;"><?if(($startfild+9) >= $numberfild["count(id)"]){?>التالي >><?}else{?><a class="link" href="personal.php?start=<?=1 + $_GET[start]?>">التالي >></a><?}?></td>
وهذا :كود PHP:
<td style="width: 25%;"><?if(($start+3) >= $numberfild["count(id)"]){?>التالي >><?}else{?><a class="link" href="personal.php?start=<?=1 + $_GET[start]?>">التالي >></a><?}?></td>
بهذا :كود PHP:
while($numlinkpage < ($numberfild["count(id)"]/9)+1 and ($totallink != 5)){?>
كود PHP:
while($numlinkpage < ($numberfild["count(id)"]/3)+1 and ($totallink != 5)){?>
__________________
لطلب خدمة راسلني على البريد التالي :
add-1st@hotmail.com
مشكوررر
أستفدت من هالموضوع
حسب ما فهمت .. تعدد الصفحات ..
www.php-ar.com
قسم الدروس ( كيف تنشئ تعدد الصفحات )
أو باللغة الإنجليزية www.phpfreaks.com
ستجد موضوع يتحدث عن تعدد الصفحات
ملحوظة : نفس الأكواد في كلا الموقعين
Dr.no
ADD
ألف شكر اخي الكريم على تفاعلك معي،
أطيب الامنيات
Dr.no
جزيل الشكر لك أخي الفاضل
__________________
w w w . o n l y p s . c o m
================
https://www.facebook.com/luaysalah83