Hola, New!
No entiendo mucho lo que deseas hacer para tu álbum de fotos para novios, pero de tus palabras lo que deseas es crear un álbum ... ¿que despliegue fotos en columnas????
Bueno, whatever ...
Te dejo este código, a ver si te sirve:
Código PHP:
<?php
//Establezco el numero de columnas
$columns = 2;
mysql_connect("localhost","usuario","password");
@mysql_select_db("base_de_datos") or die( "Imposible seleccionar base de datos");
//Hago el correspondiente Select
$query="SELECT id_foto, Nombre, Categoria, Foto, Descripcion, Fecha FROM galeria";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
echo "<table width=\"50%\" align=\"center\" border=\"0\" cellpadding=\"21\" cellspacing=\"3\">\n";
for($i = 0; $i < $num_rows; $i++) {
$row = mysql_fetch_array($result);
if($i % $columns == 0) {
//SI NO HAY RESTO SIGNIFICA QUE INICIAMOS UNA NUEVA FILA
echo "<tr>\n";
}
echo "<td width='5%' valign='top'><a href='fotos/$row[Foto]' ><img src='fotos/th$row[Foto]' /></a><br>$row[Fecha]<br><span class='Titulo'>$row[Nombre]</span><br>$row[Categoria]<br><span class='PieFoto'>$row[Descripcion]</span>
<div aling='left'><b><a href='descarga.php?file=$row[Foto]'>Descargar Foto</a></b></div></td>\n";
// echo "<TD>" . $row['Foto'] . "</TD>\n";
if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) {
//SI EL RESTO ES UNO
//O SI NO HAY NADA MAS A LA IZQUIERDA
//ES EL FINAL DE LA TABLA
echo "</TR>\n";
}
}
echo "</table>\n";
?>
La base de datos tiene esta estructura (ah!!, por cierto, opera con categorías el susodicho sistema):
Código PHP:
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `galeria`
--
CREATE TABLE `galeria` (
`id_foto` int(11) unsigned NOT NULL auto_increment,
`Nombre` varchar(190) NOT NULL,
`Categoria` varchar(200) NOT NULL,
`Foto` varchar(255) NOT NULL,
`Descripcion` longtext NOT NULL,
`Fecha` varchar(90) NOT NULL,
PRIMARY KEY (`id_foto`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=13 ;
---------------------------------
--
-- Estructura de tabla para la tabla `categoria`
--
CREATE TABLE `categoria` (
`id` int(11) NOT NULL auto_increment,
`Categoria` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=7 ;
--
Pruébalo y adáptalo a tu pinta,; en una de ésas es lo que buscas.
Falta crear el script que lleve a la categoría deseada, que es más o menos así:
Código PHP:
<?php
require(conexion.php');
$sqlQuery = mysql_query("SELECT * FROM categoria", $db_link)
or die(mysql_error);
while($row = mysql_fetch_array($sqlQuery)){
echo "<ul class=\"sidemenu\">";
echo "<a href='galeria.php?Categoria=$row[Categoria]&Categoria=$row[Categoria]>$row[Categoria]</a>";
echo "</ul><br>";
}
?>
El documento para la conexión, conexion.php
Código PHP:
<?php
$db_link = mysql_connect('localhost', 'usuario', 'password');
if(!$db_link){
die('No se pudo conectar: ' . mysql_error());
}
$db_selected = mysql_select_db('base_de_datos', $db_link);
if(!$db_selected){
die('No se selecciono la BD: ' . mysql_error());
}
?>
Para ver las fotos que contiene categoría se consigue mediante la línea que está más arriba ("<a href='galeria.php?Categoria=$row[Categoria]&Categoria=$row[Categoria]'>$row[Categoria]</a>), pero no tiene gracia, porque en galeria.php es tema resuelto gracias al Dreamweaver y a decir verdad quiero hacerlo con código solamente, pero sigo sin poder resolver el problema. Como no lo he logrado y ya me cansé de buscar la respuesta, anduve abandonando el tema; sé que hay que hacer un select, el $_GET blablablá y todo eso, lo he intentado, pero no me resulta.
Me anduvo saturando un poco el cuento; desarmé todo y he dejado el código tal cual. A ver si alguien experto en php sabe cómo resolver el problema.
Arrivedercci Roma