Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/07/2009, 05:57
Avatar de Dragon_Mandarin
Dragon_Mandarin
 
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 1 mes
Puntos: 14
Respuesta: PHP y MySQL organizar tablas y mostrar su contenido

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_fotoint(11unsigned NOT NULL auto_increment,
  `
Nombrevarchar(190NOT NULL,
  `
Categoriavarchar(200NOT NULL,
  `
Fotovarchar(255NOT NULL,
  `
Descripcionlongtext NOT NULL,
  `
Fechavarchar(90NOT NULL,
  
PRIMARY KEY  (`id_foto`)
ENGINE=MyISAM  DEFAULT CHARSET=latin2 AUTO_INCREMENT=13 ;
 
---------------------------------
 
 
-- 
-- 
Estructura de tabla para la tabla `categoria`
-- 
CREATE TABLE `categoria` (
  `
idint(11NOT NULL auto_increment,
  `
Categoriavarchar(200NOT NULL,
  
PRIMARY KEY  (`id`)
ENGINE=MyISAM  DEFAULT CHARSET=latin2 AUTO_INCREMENT=;
-- 
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]&amp;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]&amp;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

Última edición por Dragon_Mandarin; 08/07/2009 a las 06:05