Jump to content
php.lv forumi

Rakstu dalīšana pa lapām


reGative

Recommended Posts

Sveiki. Man ir problēmas ar rakstu dalīšanu pa lapām. Man ir tabula ierakstu_skaits, kur ir aile ar rakstu skaitu ciparu. No tā izvelku rakstu skaitu. Bet man kkas gļuko un man kāds raksts nākamajā lapā atkārtojas, bet nav paša vecākā.

 

Kods:

<?php

include('header.php');
include('connect.php');

/// paginaacija
$rakstu_skaits_vienaa_lapaa = '3';

$start_lapa = $_GET['lpp'];
if(!isset($start_lapa)) 

$start_lapa = 0;
/// ievaacam infuuu no datubaazes
$rakstu_skaits_kopaa = mysql_query("SELECT rakstu_skaits FROM ierakstu_skaits");
/// uztaisam rezultaatus, pamatojoties no taa, cik rakstiem japaradas, un kura ir lapa atveerta
$result = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT $start_lapa, ".$rakstu_skaits_vienaa_lapaa."");

while($row = mysql_fetch_array($result))
{$teksts = $row['teksts'] ;
//// Pareja teksta apstrade
 $teksts = str_replace("&/n;", '<br>', $teksts);

$teksts =     preg_replace(
"/(\A|[^=\]'\"a-zA-Z0-9])((http|ftp|https|ftps|dchub|irc):\/\/[^()<>\s]+)/i",
"\\1<a target=\"_blank\" href=\"\\2\">\\2</a>", $teksts);

// [b]Bold[/b]
$teksts = preg_replace("/\[b\]((\s|.)+?)\[\/b\]/", "<b>\\1</b>", $teksts);

// [i]Italic[/i]
$teksts = preg_replace("/\[i\]((\s|.)+?)\[\/i\]/", "<i>\\1</i>", $teksts);

// [list]List[/list]

$teksts = preg_replace("/\[list\]((\s|.)+?)\[\/LIST\]/", "<ul>\\1</ul>", $teksts);

// [*]select

$teksts = preg_replace("/\[*\]((\s|.)+?)/", "<li>\\1", $teksts);

// [u]Underline[/u]
$teksts = preg_replace("/\[u\]((\s|.)+?)\[\/u\]/", "<u>\\1</u>", $teksts);

//  [del]delete[/del]
$teksts = preg_replace("/\[del\]((\s|.)+?)\[\/del\]/i", "<del>\\1</del>", $teksts);

// [u]Centrets teksts[/u]
$teksts = preg_replace("/\[center\]((\s|.)+?)\[\/center\]/", "<center>\\1</center>", $teksts);

$teksts = str_replace("\'", "'", $teksts);
$teksts = str_replace('\"', '"', $teksts);
echo '<div id="subj"><a href="read.php?lasiit='.$row['id'].'">'.$row['nosaukums'].'</a></div>
<div id="top">'.$teksts .'</div>
<div id="auth-time">'.$row['datums'].' '.$row['autors'].'</div>';}



$cik_lapas_paradit = '5';

if ($_GET['lpp'] == ''){
$lpp_mainigs2 = 1; } else { $lpp_mainigs2 = $_GET['lpp']; }
$html.=makepagenav($lpp_mainigs2,$rakstu_skaits_vienaa_lapaa,$rakstu_skaits_kopaa+1,$cik_lapas_paradit,'?lpp=');
echo $html;
  include('footer.php');

?>

Link to comment
Share on other sites

neviens uz sourci neskatās... ehh... es jau esmu uzkodējis (daļēji es) pagināciju, wnk ir tie gļuki, kuri jau tika minēti. Tāda sajūta, ka jūs lasat tikai virsrakstus.

 

EDIT: aizmirsu iedot tās funkcijas pašu sourci :

<?php
 function makepagenav($start,$count,$total,$range=0,$link=""){
  global $locale;
  if ($link == "") $link = FUSION_SELF."?";
  $res="";
  $pg_cnt=ceil($total / $count);
  if ($pg_cnt > 1) {
     $idx_back = $start - $count;
     $idx_next = $start + $count;
//      $cur_page=ceil(($start + 1) / $count);
     $cur_page=$start;
     $res.="<div class='pagination'>";
     if ($idx_back >= 0) {
//         $res.="<a class='pagination' href='$link"."rowstart=$idx_back'>Geri</a>\n";
        if ($cur_page > ($range + 1)) $res.="<a class='pagination' href='$link"."1'>1.</a> ...\n";
     }
     $idx_fst=max($cur_page - $range, 1);
     $idx_lst=min($cur_page + $range, $pg_cnt);
     if ($range==0) {
        $idx_fst = 1;
        $idx_lst=$pg_cnt;
     }
     for($i=$idx_fst;$i<=$idx_lst;$i++) {
        $offset_page=($i - 1) * $count;
        if ($i==$cur_page) {
           $res.="<a class='current'><b>$i.</b></a>\n";
        } else {
           $res.="<a class='pagination' href='$link"."$i'>$i.</a>\n";
        }
     }
     if ($idx_next < $total) {
        if ($cur_page < ($pg_cnt - $range)) $res.="... <a class='pagination' href='$link"."".$pg_cnt."'>".$pg_cnt.".</a>\n";
//         $res.="<a class='pagination' href='$link"."&lpp=$pg_cnt'>Nakosa lapa</a>\n";
     }
     $res.="</div>";
 }
  return $res;
}
?>

Edited by reGative
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...