puede ser por que tu "paginacion" la estas realizando solo de la primera consulta ('las otras consultas las estas realizando despues que no son tomadas en cuenta'); en todo caso tendrias que ponerla al final.
supongo que usas esto:
Código PHP:
Ver original$sql = "SELECT Codi_Joc, Imatge, Nom_Joc, Preu, Oferta, PEGI, Genere, Data_Publicacio FROM jocs ORDER BY Nom_Joc ASC";
para poder tener el numero total de paginas. pero no lo tomas del total de registros segun la diferente opcion, para dejarme entender mejor te sugiero que uses:
y
asi:
Código PHP:
Ver original$reg_por_pagina=10;
$pagina=$_GET['pag'];
$limit = $reg_por_pagina*($pagina-1);
$opcio = $_GET['opt'];
if ($opcio == 'n'){
$sql = "SELECT SQL_CALC_FOUND_ROWS Codi_Joc, Imatge, Nom_Joc, Preu, Oferta, PEGI, Genere, Data_Publicacio FROM jocs ORDER BY Nom_Joc ASC $limit";
}
elseif ($opcio == 'nd'){
$sql = "SELECT SQL_CALC_FOUND_ROWS Codi_Joc, Imatge, Nom_Joc, Preu, Oferta, PEGI, Genere, Data_Publicacio FROM jocs ORDER BY Nom_Joc DESC $limit ";
}
elseif ($opcio == 'pa'){
$sql = "SELECT SQL_CALC_FOUND_ROWS Codi_Joc, Imatge, Nom_Joc, Preu, Oferta, PEGI, Genere, Data_Publicacio FROM jocs ORDER BY Preu ASC $limit ";
}
elseif ($opcio == 'pd'){
$sql = "SELECT SQL_CALC_FOUND_ROWS Codi_Joc, Imatge, Nom_Joc, Preu, Oferta, PEGI, Genere, Data_Publicacio FROM jocs ORDER BY Preu DESC $limit ";
}
$total_paginas=ceil($total_registros_sin_limit['total']/$reg_por_pagina);
con esto tendras los datos necesarios para mostrar tu paginacion con los datos correctos segun cada consulta :D