صفحة 1 من 1

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

مرسل: 22 ديسمبر 2009, 22:44
بواسطة 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;
}

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

مرسل: 23 ديسمبر 2009, 01:09
بواسطة 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;
 

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

مرسل: 23 ديسمبر 2009, 18:39
بواسطة Saif Alhak
شكراً لك أخي العزيز ..

سأقو بالتجربة وأخبرك بما يحدث معي

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

مرسل: 24 ديسمبر 2009, 00:45
بواسطة 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
وهيك

أتمنى أن تكون وصلت الفكرة
وأتمنى منك المساعدة في الحل

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

مرسل: 24 ديسمبر 2009, 01:29
بواسطة saanina
كلاس الصفحات بكليجا تم تطويريه منفصل ( يعتمد على كلاس جيد )
قم بمراجعته وقراءه الكود بشكل متأني وستصل للفكره ..

بالتوفيق

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

مرسل: 24 ديسمبر 2009, 02:33
بواسطة Saif Alhak
شكراً لك

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