Script paginare eroare?

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
nutzu123
Mesaje:83

Script paginare eroare?

Salut am urmatorul cod de paginare:

Cod: Selectaţi tot

<?php    
$rezJ = 30; 
$pagina = 1; 
$table = 'referate'; 
$totale = mysql_result(mysql_query('SELECT COUNT(*) as Num FROM `'.$table.'`'),0); 
if($totale == 0) $text = 'Nu exista intrari ...';
if(isset($_GET['pagina']) && is_numeric($_GET['pagina'])) $pagina = $_GET['pagina'];

$cerereSQL = mysql_query('SELECT * FROM `'.$table.'` ORDER by `data_ad` DESC LIMIT '.($pagina * $rezJ - $rezJ).', '.$rezJ);
$pagini_totale = ceil($totale / $rezJ);

if($pagina > $pagini_totale) $text .= 'Pagina nu a fost gasita';
   elseif($pagini_totale > 0) {    
       $x = 0;   
      while($row = mysql_fetch_array($cerereSQL)) 
      {
	$titluurl=str_replace(" ","-",$row['titlu']);
	$titluurl=str_replace("'","-",$titluurl);
	$titluurl=str_replace("`","-",$titluurl);
	$titluurl=str_replace("[","",$titluurl);
	$titluurl=str_replace("]","",$titluurl);
	$titluurl=str_replace("(","",$titluurl);
	$titluurl=str_replace(")","",$titluurl);
	$titluurl=str_replace(",","-",$titluurl);
	$titluurl=str_replace(".","-",$titluurl);
	$titluurl=str_replace(":","-",$titluurl);
	$titluurl=str_replace(";","-",$titluurl);
	$titluurl=str_replace("?","",$titluurl);
	$titluurl=str_replace("!","-",$titluurl);
	$titluurl=str_replace("&","",$titluurl);
	$titluurl=str_replace("@","",$titluurl);
	$titluurl=str_replace("*","",$titluurl);
	$titluurl=str_replace("^","",$titluurl);
	$titluurl=str_replace("%","",$titluurl);
	$titluurl=str_replace("#","",$titluurl);
	$titluurl=str_replace("=","",$titluurl);
	$titluurl=str_replace("+","-",$titluurl);
	$titluurl=str_replace("<","",$titluurl);
	$titluurl=str_replace(">","",$titluurl);
	$titluurl=str_replace("|","",$titluurl);
	$titluurl=str_replace("{","",$titluurl);
	$titluurl=str_replace("}","",$titluurl);
	$titluurl=str_replace("\"","",$titluurl);
	$titluurl=str_replace("/","",$titluurl);
	$titluurl=str_replace("~","-",$titluurl);
	$titlu=$row['titlu'];
	$descriere=$row['descriere'];
		  echo "<table class='index'>
		        <tr>
                <td><img src='/imagini/sageata.gif' alt='sageata' />&nbsp;<a href='/" . $row['id'] . "/referat-" . $titluurl=strtolower($titluurl) . "' title='Referat " . $row['titlu'] . "' class='tag3'>".nume($titlu)."</a><br />
				<font color='red'>referat " . $row['categorie'] . "</font><br />".index($descriere)."</td>
				</tr>
				</table>";
				}   
   
}
if($pagini_totale == 1) 
{
   $text .= '<p align="center">Pagina 1 din 1</p>';
}
else 
{            
   $text = '<div align="center" class="pagination" style="line-height:220%">';
   $text .= 'Pagina '.$pagina.' din '.$pagini_totale.'&nbsp;';
   if($pagina > 1)
   {
      $inapoi = ($pagina - 1);
      $text .= '<a href="/referate-'.$inapoi.'" class="pagini">&laquo; Inapoi</a>';
   }
   
   if($pagini_totale <= 6)
   {
      for($pagini = 1; $pagini <= $pagini_totale; $pagini++){
         if(($pagina) == $pagini) $text .= '<span class="current">'.$pagina.'</span>';
         else  $text .= '<a href="/referate-'.$pagini.'" class="pagini">'.$pagini.'</a>';
      }
   }
   else
   {
       if(($pagini_totale - $pagina) < 3)
      {
          for($pagini = 1; $pagini < 4; $pagini++)
         {
               $text .= '<a href="/referate-'.$pagini.'" class="pagini">'.$pagini.'</a>';
         }
         $text .= "&nbsp;...&nbsp;";
         for($pagini = $pagini_totale - 2; $pagini <= $pagini_totale; $pagini++)
         {
                 if(($pagina) == $pagini) $text .= '<span class="current">'.$pagina.'</span>';
             else $text .= '<a href="/referate-'.$pagini.'" class="pagini">'.$pagini.'</a>';
         }
      }
      else if($pagina < 4)
      {
          for($pagini = 1; $pagini < 4; $pagini++)
         {
              if(($pagina) == $pagini) $text .= '<span class="current">'.$pagina.'</span>';
               else  $text .= '<a href="/referate-'.$pagini.'" class="pagini">'.$pagini.'</a>';
         }
         $text .= "&nbsp;...&nbsp;";
         for($pagini = $pagini_totale - 2; $pagini <= $pagini_totale; $pagini++)
         {                 
             $text .= '<a href="/referate-'.$pagini.'" class="pagini">'.$pagini.'</a>';
         }
      }
      else 
      {
          for($pagini = 1; $pagini < 4; $pagini++)
         {
               $text .= '<a href="/referate-'.$pagini.'" class="pagini">'.$pagini.'</a>';
         }
         $text .= "&nbsp;...&nbsp;";
         $text .= '<span class="current">'.$pagina.'</span>';
         $text .= "&nbsp;...&nbsp;";
         for($pagini = $pagini_totale - 2; $pagini <= $pagini_totale; $pagini++)
         {                 
             $text .= '<a href="/referate-'.$pagini.'" class="pagini">'.$pagini.'</a>';
         }
      }
   }
   
   if($pagina < $pagini_totale) 
   {
      $inainte = ($pagina + 1);
      $text .= '<a href="/referate-'.$inainte.'" class="pagini">Inainte &raquo;</a>';            
   }
   $text .= '</div>';
}

echo $text;
?>
Nu imi dau seama ce este gresit in acest cod deoarece nu imi apar "avertismentele" de mai sus
$text = 'Nu exista intrari ...';
$text .= 'Pagina nu a fost gasita';

Adica daca am o categorie goala gen referate-romana nu imi apar avertismentele de mai sus, adica sa vada lumea k nu exista nimic in categoria respectiva. Mie imi apare doar pagina 1 din 0 dar acele avertismente nu apar :?:
Care ar fi concluzia, m-am uitat peste script si nu am gresit nimic cred :cry:

MarPlo Mesaje:4343
Poti testa sa vezi ce valori au variabilele din acele if()-uri unde sunt avertismentele, $totale, $pagina, $pagini_totale (cu echo )
Verificand daca valorile corespund cu ce conditii sunt in if-uri ca sa dea True, poate vezi unde e problema.

Subiecte similare