In htacces am asa :
Cod: Selectaţi tot
RewriteRule ^bancuri-$ bancuri-.php [NC,L]
RewriteRule ^bancuri-(.*)/pagina([0-9]+)/?$ bancuri-.php?categoria=(.*)?pagina=$1 [NC,L]
site.ro/bancuri-.php?categorie=X
Iar cu paginare, adica de la pagina 2 in sus nu imi dau seama cum este, nu reusesc sa ii fac linkul cum trebuie.
Doresc sa afiseze asa :
site.ro/bancuri-categorie.php
Si pentru pagina 2 sau mai mare de 2 sa fie :
site.ro/bancuri-categorie.php/paginaX
Iar daca intru pe o categorie in care nu am nici-o inregistrare in aceea categorie afiseaza eroare:
"Categoria nu exista !", desi exista categoria
Cod: Selectaţi tot
<?php session_start();
ini_set('display_errors',1);
error_reporting(E_ALL);
include('meniu-sus.php');
include('conectare.php');
// Setarea pentru format UTF-8
$sql = "SET NAMES 'utf8'";
mysql_query($sql, $connect);
// Afla cate linii sunt in tabel (MODIFICATI 'nume_tb') din baza de date
$sql = "SELECT COUNT(*) FROM `bancuri`";
$result = mysql_query($sql, $connect) or trigger_error(E_USER_ERROR);
$r = mysql_fetch_row($result);
$numrows = $r[0];
// Stabileste numarul de linii din tabel afisate in pagina
$rowsperpage = 10;
// afla numarul total necesar de pagini
$totalpages = ceil($numrows / $rowsperpage); // ceil face rotunjire la int. maxim
// Obtine pagina curenta sau seteaza default
if (isset($_GET['pagina']) && is_numeric($_GET['pagina'])) {
// seteaza variabila ca int
$pagina = (int) $_GET['pagina'];
} else {
// pagina care este initial afisata (pagina default)
$pagina = 1;
}
// daca pagina curenta e mai mare decat total pagini...
if ($pagina > $totalpages) {
// seteaza pagina curenta la ultima pagina
$pagina = $totalpages;
}
// daca pagina curenta e mai mica decat prima pagina...
if ($pagina < 1) {
// seteaza pagina curenta la prima pagina
$pagina = 1;
}
// lista cu pagini, in functie de pagina curenta
$offset = ($pagina - 1) * $rowsperpage;
// obtine datele din tabel (MODIFICATI 'nume_tb') din baza de date
if (isset($_GET['categorie'])) {
$categorie = $_GET['categorie'];
$sql = "SELECT `id`, nume, categorie, banc, data FROM `bancuri` WHERE `categorie`='$categorie' ORDER BY `id` DESC LIMIT $offset, $rowsperpage";
$rezultat = mysql_query($sql);
if (mysql_num_rows($rezultat) == 0) {echo "Categoria nu exista";}
else {
while ($rand = mysql_fetch_assoc($rezultat)) {
echo '
<html>
<head>
<title>Bancuri - '.$rand['categorie'].' </title>
<link rel="shortcut icon" type="image/x-icon" href="/favicon/0.gif">
<meta name="description" content="Bancuri '.$rand['categorie'].'. Cele mai bune bancuri: bancuri betivi, bancuri cu Bula,glume cu Alinutza, bancuri tari, bancuri cu blonde" />
<meta name="keywords" content="'.$rand['categorie'].', '.$rand['banc'].', '.$rand['nume'].'" />
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<meta name="resource-type" content="document" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="revisit-after" content="5 days" />
<meta name="MSSmartTagsPreventParsing" content="TRUE" />
<meta name="robots" content="ALL" />
<meta name="robots" content="index, follow" />
<meta name="language" content="RO" />
<meta name="doc-class" content="Completed" />
<meta name="doc-rights" content="Copyrighted Work" />
<meta name="Copyright" content="(c) 2013 ScapaDePlictiseala Romania" />
<meta name="Rating" content="General" />
<meta name="Owner" content="ScapaDePlictiseala Romania" />
<base href="http://www.scapadeplictiseala.tk/" />
</head>
<body>
<table border=0><tr><td width=800 bgcolor=#e8e7e7> Adaugat de <b>'.$rand['nume'].'</b> la <b>'.$rand['data'].'</b> in <b>Bancuri '.$rand['categorie'].'</b><br>
<b>'.$rand['banc'].'</b><br><br>
<center>
<a href="ymsgr:im?msg=www.scapadeplictiseala.tk/bancuri.php '.$rand['banc'].'" style=color:#000000; title="Trimite Bancuri pe Messenger">Trimite pe Messenger <img src=/imagini/ym.png></a>
</center>
</td></tr>
</table><br>';
}
}
} else { echo " Id-ul primit nu are nici o valoare. "; }
/*** Construirea link-urilor pt. paginare ***/
// raza nr. link-uri din jurul celui curent
$range = 3;
// Link-uri inapoi, daca pagina curenta nu e prima
if ( $pagina > 1) {
// arata << pt. link la prima pagina
echo "<a href='{$_SERVER['PHP_SELF']}'>Prima Pagina</a> ";
// obtine nr. pagina din urma
$prevpage = $pagina - 1;
}
// definirea link-urilor din raza paginii curente
for ($x = ($pagina - $range); $x < (($pagina + $range) + 1); $x++) {
// daca e un nr. de pagina valid ...
if (($x > 0) && ($x <= $totalpages)) {
// daca nr. e pagina curenta ...
if ($x == $pagina) {
// afiseaza nr. pagina fara a fi link
echo " [<b>$x</b>] ";
// daca nr. nu e pagina curenta ...
} else {
// il face link
echo " <a href='/bancuri-.php?categorie=animale?pagina$x'>$x</a> ";
}
}
}
// Daca pagina curenta nu e ultima, afiseaza link inainte si spre ultima pagina
if ($pagina != $totalpages) {
// obtine pagina urmatoare
$nextpage = $pagina + 1;
// arata >> pt. ultima pagina
echo " <a href='/bancuri-.php?pagina$totalpages'>Ultima Pagina</a> </center>";
} ;
?>
<?php
include('reclama-jos.php');
include('meniu-jos.php');?>
</body>
</html>