bueno, pues poco a poco y rompiendome la cabeza, y con la ayuda de vosotros, voy resolviendo problemas.
el problema que tenía era que quería paginar por columnas, es decir, que los resultados me los diera en columnas y a su vez, me paginara. bien. esto lo he conseguido. os dejo el código pues seguro que a más de una (o uno) le vendrá bien:
conectamos con la base de datos:
****************
$link = mysql_connect("localhost", "user", "pass");
mysql_select_db("basededatos", $link);
*************
///////decimos los resultados que queremos por página:
***********
if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
$result = mysql_query("SELECT COUNT(*) FROM tabla", $link);
list($total) = mysql_fetch_row($result);
$tampag = 3;
$reg1 = ($pag-1) * $tampag;
******************
///////hacemos la consulta y mostramos los resultados
**********************
$result = mysql_query("SELECT * FROM galeria LIMIT $reg1, $tampag", $link);
if (mysql_num_rows($result)){
echo "<table border = '1'> \n";
while ($row = @mysql_fetch_array($result)) {
echo "<tr><td>".$row["titulo"].
"<BR> <img alt=".$row["titulo"]." src=".$row['imagen']." width=150 height=80></td></tr> \n";
}
echo "</table> \n";
}
else
echo "¡ No se ha encontrado ningún registro !";
*******************
///////por último, metemos la función paginar
*******************
/************************************************** ****/
/* 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, "prueba.php?pag=");
************
bien. como digo, esto lo que hace es que muestra los resultados en columnas y como le he dicho que me muestre 3, pues cuando si yo tengo 6 imágenes en la base de datos, me aparece la paginación, con un enlace a la página dos para mostrar las otras 3 imágenes.
el tema está en que yo quiero que me aparezcan dos columnas en lugar de una. es decir, suponiendo que yo le diga que me muestre 3 y yo tenga 9 imágenes, me aparezcan en la página 1 dos columnas con tres imágenes cada una y las otras tres que quedan las mande a la página dos. no sé si me he explicado. por favor, a ver si ahora podéis ayudarme. cluster, anda, échame un cablecito. te lo agradecería...