2016-06-12 18 views
0

Seitennummerierung funktioniert nicht richtig?Seitennummer funktioniert nicht richtig?

Ich habe diesen Code in der Datei "Forum-Com.php" gespeichert und wenn ich diese Datei öffne, funktioniert die Paginierung richtig und richtig, aber wenn ich diese Datei in eine andere Seite einschließe, öffnet sie die erste Seite richtig, aber wenn ich zweite oder klicke eine andere Seite verlinke es dieselben Kommentare, die auf der ersten Seite sind. Bitte hilf mir. (Ich verwende Scriptsmill Kommentare Skript v1.06 und Funktion von admin.php make_pages_string)

$COM_CONF['full_path'] = dirname(__FILE__); 


function make_pages_string ($all_count, $records_per_page, $cur_page, $base_url) { 

if ($all_count > $records_per_page) { 
    if ($cur_page > 0) { $cur_page=$cur_page-1; } 
    $first_record = ($cur_page) * $records_per_page; 
    $limit_string = "LIMIT $first_record, $records_per_page"; 
    $pages=$all_count/$records_per_page; 
    if ($pages > (int) $pages) { $pages=(int)$pages+1; } 
} 
if ($pages>1) { 
    $pages_string.="Page: "; 
    if ($cur_page>10 && $pages>20) { $first_page=$cur_page-9; } 
    else { $first_page=1; } 
    if ($pages>20 && ($cur_page+10)<$pages) { $last_page=$first_page+19; } 
    else { $last_page=$pages; } 
    if ($cur_page+1>1) { 
     $prev=$cur_page; 
     $pages_string.="<a href='$base_url&page=$prev'>&lt</a>&nbsp;&nbsp; "; 
    } 
    for ($i=$first_page; $i<=$last_page; $i++){ 
     if ($i != $cur_page+1) { 
      $pages_string.="<a href='$base_url&page=$i'>$i</a>&nbsp; "; 
     } 
     else { 
      $pages_string.="<b>$i</b>&nbsp; "; 
     } 
    } 
    if ($cur_page+1<$pages) { 
     $next=$cur_page+2; 
      $pages_string.="<a href='$base_url&page=$next'>&gt</a>&nbsp;&nbsp; "; 
     }          

} 
return array ($pages_string, $limit_string); 
} 



function smcom_view() 
{ 
    global $comments_db_link, $COM_CONF, $COM_LANG; 

$result = mysql_query("select COUNT(id) from {$COM_CONF['dbmaintable']}", $comments_db_link); 
list ($all_count) = mysql_fetch_row($result); 
list ($pages_string, $limit_string) = make_pages_string ($all_count, 10, $_REQUEST['page'], "{$COM_CONF['base_url']}?action=view"); 

$result = mysql_query("select time, text, author, email, dont_show_email from {$COM_CONF['dbmaintable']} order by time {$COM_CONF['sort_order']} $limit_string", $comments_db_link); 


$comments_count=0; 
$id=$time=$text=$author=$email=$dont_show_email=$ip=array(); 
while (list($id[$comments_count], $time[$comments_count], $text[$comments_count], $author[$comments_count], $email[$comments_count], $dont_show_email[$comments_count], $ip[$comments_count])=mysql_fetch_array($result)) { 
    $comments_count++; 
} 

    require("{$COM_CONF['full_path']}/templates/Forum-default.php"); 

    } 
+0

@Sajid, jetzt funktioniert es richtig. Aber ein Moor-Problem ist, dass, wenn ich "mysql_escape_string" verwende, es nicht funktioniert, nur die erste Seite zeigt Kommentare mit Limit und Seitenlinks, aber die zweite oder andere Seiten zeigt keine Kommentare oder Seitenumbruch Link, sagt nur "Noch keine Kommentare". –

Antwort

0

Die oben angegebenen Code hat überhaupt kein Problem. Das Problem liegt in der Serverkonfiguration, die die globale Variable $ _REQUEST vom direkten Zugriff abstellte.

+0

Ich habe noch ein Problem, wenn jemand auf einer bestimmten Seite einen Kommentar hinzufügt, wird es korrekt angezeigt, aber wenn jemand auf der zweiten Seite auf dieser bestimmten Seite einen Kommentar abgibt, wird der Kommentar nie angezeigt. Jede Hilfe würde sehr geschätzt werden, danke. –