دوال تعدد الصفحات

كل مايخص سكربتات وتساؤلات لغة PHP
مغلق
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

دوال تعدد الصفحات

مشاركة بواسطة Saif Alhak »

السلام عليكم ورحمة الله وبركاته

عندي دوال لتعدد الصفحات ولكن مشكلته انه يضل يعد ويقوم بإنشاء ارقام الى مالا نهايه وبدي طريقة تخليه يحط كل 10 صفحات مع بعض بعدين نضغط التالي يطلعو العشرة يلي بعدهم

الدوال هو

كود: تحديد الكل

$pagesnum = @ceil(mysql_num_rows(mysql_query("select `id` from `pages` where catgoryid='$id' AND active=1")) / $perpage);
if($pagesnum > 1){
$printcats .= "<p align='center' style='margin-top: 0; margin-bottom: 0'>";
for ($i=1; $i<=$pagesnum; $i++) {
if ($i != $page) {
$z = "<a href='pages.php?id=$id&page=$i'>$i</a>";
} else {
$z = "<u>$i</u>";
}
$printcats .= "[$z]";
}
$printcats .= "</p>";
}
}
return $printcats;
}
saanina
عبدالرحمــــن
مشاركات: 3762
اشترك في: 30 أغسطس 2004, 13:54

رد: دوال تعدد الصفحات

مشاركة بواسطة saanina »

عدلت كودك على السربع لكن ماجربتهوش !

كود: تحديد الكل

$perpage = 10;
$current_page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$start_row = $current_page * $perpage;

$result = mysql_query("select `id` from `pages` where catgoryid='$id' AND active=1 LIMIT $start_row, $perpage");
$num = mysql_num_rows($result);

$pagesnum = @ceil($num / $perpage);

if($pagesnum > 1)
{
    $printcats .= "<p align='center' style='margin-top: 0; margin-bottom: 0'>";
    for ($i=1; $i<=$pagesnum; $i++)
    {
        if ($i != $page)
        {
            $z = "<a href='pages.php?id=$id&page=$i'>$i</a>";
        }
        else
        {
            $z = "<u>$i</u>";
        }
        $printcats .= "[$z]";
    }
    $printcats .= "</p>";
}

echo  $printcats;
 
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

رد: دوال تعدد الصفحات

مشاركة بواسطة Saif Alhak »

شكراً لك أخي العزيز ..

سأقو بالتجربة وأخبرك بما يحدث معي
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

رد: دوال تعدد الصفحات

مشاركة بواسطة Saif Alhak »

أخي يبدو أنك لم تفهم ماقصدته ...

بداية رح أرفق الكود كاملاً:


كود: تحديد الكل

function m_consult() {
global $htmlorphp,$consult_loop;

$page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
$page = ($page == 0 ? 1 : $page);
$perpage = $consult_loop;
$startpoint = ($page * $perpage) - $perpage;

$colorcss=1;
$sql = @mysql_query("SELECT * FROM m_consult where active=1 order by id desc limit $startpoint,$perpage");
while ($Row = @mysql_fetch_array($sql))
{
$text = $Row[message];
$text = htmlspecialchars($text);
$text = stripslashes($text);
$text = str_replace( "<", "<", $text );
$text = str_replace( ">", ">", $text );
$text = str_replace( "\"   , "\\", $text);
$text = str_replace( "'"   , "'", $text);
$text = str_replace( "!"   , "!", $text);
$text = str_replace( "$"   , "$", $text);
$text = str_replace( "|"  , "|", $text);
$text = str_replace( "&"   , "&", $text);
$text = str_replace( '"'  , '"', $text);
$text = str_replace( "&#153;", "(tm)", $text );
$text = Replace($text);



$atext = $Row[amessage];
$atext = htmlspecialchars($atext);
$atext = stripslashes($atext);
$atext = str_replace( "<", "<", $atext );
$atext = str_replace( ">", ">", $atext );
$atext = str_replace( "\"   , "\\", $atext);
$atext = str_replace( "'"   , "'", $atext);
$atext = str_replace( "!"   , "!", $atext);
$atext = str_replace( "$"   , "$", $atext);
$atext = str_replace( "|"  , "|", $atext);
$atext = str_replace( "&"   , "&", $atext);
$atext = str_replace( '"'  , '"', $atext);
$atext = str_replace( "&#153;", "(tm)", $atext );
$atext = Replace($atext);

$id = $Row[id];
$name = $Row[name];
$name = htmlspecialchars($name);
$chname = $Row[chname];
$chname = htmlspecialchars($chname);
$email = $Row[email];
$email = htmlspecialchars($email);
$country = $Row[country];
$country = htmlspecialchars($country);
$chdate = $Row[chdate];
$chdate = htmlspecialchars($chdate);
$chage = $Row[chage];
$chage = htmlspecialchars($chage);
$chsex = $Row[chsex];
$chsex = htmlspecialchars($chsex);
$chhead = $Row[chhead];
$chhead = htmlspecialchars($chhead);
$chwhight = $Row[chwhight];
$chwhight = htmlspecialchars($chwhight);
$chlong = $Row[chlong];
$chlong = htmlspecialchars($chlong);
$chperv = $Row[chperv];
$chperv = htmlspecialchars($chperv);
$fperv = $Row[fperv];
$fperv = htmlspecialchars($fperv);
$message = $Row[message];
$message = htmlspecialchars($message);
$agree = $Row[agree];
$agree = htmlspecialchars($agree);
$amessage = $Row[amessage];
$amessage = htmlspecialchars($amessage);
$d = date("j/n/Y",$Row['date']);



$printcats .= "هنا المحتوى";
  
}



$pagesnum = @ceil(mysql_num_rows(mysql_query("select `id` from `m_consult` where active=1")) / $perpage);
@mysql_free_result($pagesnum);

if($pagesnum > 1){
$printcats .= "<div align='center'>";
for ($i=1; $i<=$pagesnum; $i++) {
if ($i != $page) {

if ($htmlorphp=="1"){
$z = "<a href='consultpages-$i.html'>$i</a>";
}else{
$z = "<a href='consult.php?action=home&page=$i'>$i</a>";
}

} else {
$z = "<u>$i</u>";
}
$printcats .= "[$z]";

}
$printcats .= "</div>";
}

@mysql_free_result($sql);
return $printcats;
}

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

هلق اذا حددت عدد الإستشارات بالصفحة 5 يعني


$perpage = $consult_loop = 5

ولنفرض عندي 200 استشارة بالتالي ترفيم الصفحات رح يكون
1 2 3 4 5 ......38 39 40
يعني رح يطلعو ال 40 رقم جنب بعض وهاد الشي مزعج
كيف بدي خليهم يطلعوا من
1 2 3 .... 9 10
وبعدين بالنقر على التالي يطلع
11 12 ...... 19 20
وهيك

أتمنى أن تكون وصلت الفكرة
وأتمنى منك المساعدة في الحل
saanina
عبدالرحمــــن
مشاركات: 3762
اشترك في: 30 أغسطس 2004, 13:54

رد: دوال تعدد الصفحات

مشاركة بواسطة saanina »

كلاس الصفحات بكليجا تم تطويريه منفصل ( يعتمد على كلاس جيد )
قم بمراجعته وقراءه الكود بشكل متأني وستصل للفكره ..

بالتوفيق
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

رد: دوال تعدد الصفحات

مشاركة بواسطة Saif Alhak »

شكراً لك

سأعمل على ذلك بإذن الله تعالى ... وسأرى ماذا سينتج معي
مغلق