hola a todos, me gustaria saber si alguien me puede ayudar con este codigo y me puede decri en que fallo "antes que nada" queria decir que el codigo funciona correctamente pero la paginacion no, antes funcionaba pero ahora se puso revelde y no quiere funcionar (para poder ver la siguiente pagina devo escrivir en la barra de direcciones "clientes2.php?pag=2")
les agradeceria mucho su ayuda:
Código PHP:
$link = mysql_connect("wqe", "qwe" , "qwe");
mysql_select_db("qwe", $link);
$primo = $_POST['criterio'];
$primo2 = $_POST['criterio2'];
$where = "";
if(($primo!="") && ($primo2!="")){
$where = "WHERE nombre = "."'$primo'"." AND apellidos = "."'$primo2'";
}
if (($primo!="") && ($primo2=="")){
$where = "WHERE nombre = "."'$primo'";
}
if (($primo=="") && ($primo2!="")){
$where = "WHERE apellidos = "."'$primo2'";
}
if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
$result = mysql_query("SELECT * FROM `comercio`
COUNT(*) FROM comercios $where", $link);
@list($total) = mysql_fetch_row($result);
$tampag = 10;
$reg1 = ($pag-1) * $tampag;
$result = mysql_query("SELECT * FROM `comercio`
$where LIMIT $reg1, $tampag", $link);
if (mysql_num_rows($result)){
echo "<table border = '0'> \n";
echo "<tr><td>Nombre</td><td>Apellidos</td></tr> \n";
while ($row = @mysql_fetch_array($result)) {
echo "<tr><td>".$row["nombre"].
"</td><td>".$row["apellidos"]."</td></tr> \n";
}
echo "</table> \n";
}
else
echo "¡ No se ha encontrado ningún registro !";
/******************************************************/
/* Funcion paginar
* actual: Pagina actual
* total: Total de registros
* por_pagina: Registros por pagina
* enlace: Texto del enlace
* Devuelve un texto que representa la paginacion
*/
function paginar($actual, $total, $por_pagina, $enlace) {
$total_paginas = ceil($total/$por_pagina);
$anterior = $actual - 1;
$posterior = $actual + 1;
if ($actual>1)
$texto = "<a href=\"$enlace$anterior\">«</a> ";
else
$texto = "<b>«</b> ";
for ($i=1; $i<$actual; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
$texto .= "<b>$actual</b> ";
for ($i=$actual+1; $i<=$total_paginas; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
if ($actual<$total_paginas)
$texto .= "<a href=\"$enlace$posterior\">»</a>";
else
$texto .= "<b>»</b>";
return $texto;
}
echo paginar($pag, $total, $tampag, "clientes2.php?pag=");
el codigo me suelta los resultados que busco pero al final me pone
<<1>> y si hay 2 paginas no me pone << 1 2 >> antes si lo hacia pero ahora no. pero si entro a clientes2.php?pag=2 si me deja elegir la 1 y me sale de la siguiente manera << 1 2 >>.