|    
			
				18/10/2006, 09:42
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: agosto-2006 
						Mensajes: 91
					 Antigüedad: 19 años, 2 meses Puntos: 0 |  | 
  |  resuelto un problema, ahora tengo otro.  
  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...
     |