Código PHP:
Verán estoy creando un album fotografico que funciona asi:
Mediante un formulario en php creo las tablas en mi base de datos, donde cada el nombre de la tabla correspondería a el nombre del album y el contenido de la tabla (id, nombre, tipo, imagen, etc..) corresponde al contenido del album, es decir a todas las imagenes del mismo album.
formulario crear tablas (crear album)
Código PHP:
<?php
mysql_connect('localhost','root','mypass') or die('No se ha podido conectar el servidor de datos');
mysql_select_db('imagenes') or die('No se puede seleccionar la base de datos especificada');
$db = mysql_connect("localhost", "root", "gateway");
//con esto creo la tabla es decir el album
if ($album_name=="")
{
echo "Escriba un nombre para su album";
} else {
$sql = "CREATE TABLE `".$_POST['album_name']."` (
`id` int(11) unsigned NOT NULL auto_increment,
`nombre` varchar(255) default NULL,
`tipo` varchar(255) default NULL,
`imagen` longblob NOT NULL,
KEY `id` (`id`)
) TYPE=MyISAM DEFAULT CHARSET=latin1;";
mysql_query($sql, $db);
if ( mysql_error () )
{
echo "El nombre ya ha sido usado o no es válido";
} else {
echo "Se ha creado el album";
}
}
?>
<form method="post" action="">
Nombre del Album:
<input name="album_name" type="text" maxlength="100">
<input type="submit" value="crear">
</form>
1.- consulto cuantas tablas existen en la base de datos y las ordeno en lista desplegable de formulario
2.- Incluyo un campo tipo file para subir la imagen a la base de datos
3.- El campo <select></select> con el nombre de las tablas mysql organizadas en <option></option> que sería el destino a donde se subirá la imagen, es decir el album correspondiente a la imagen.
Código PHP:
<?php
mysql_connect('localhost','root','mypass') or die('No se ha podido conectar el servidor de datos');
mysql_select_db('imagenes') or die('No se puede seleccionar la base de datos especificada');
?>
<!-- formulario subir imagen -->
<b>Subir imagen al album </b><br />
<form enctype="multipart/form-data" method="post" action="subir.php">
<select name="album">
<?php
$result = mysql_list_tables("imagenes");
If (!$result) {
echo "DB Error, No se pueden listar las tablas";
echo "
";
echo 'MySQL Error: ' . mysql_error();
}
While ($row = mysql_fetch_row($result)) {
echo " <option value='$row[0]'>$row[0]</option>";
}
mysql_free_result($result);
?>
</select>
Nombre: <input type="text" name="nombre" maxlength="256" />
<br />
Imagen: <input type="file" name="archivo" />
<br />
<input type="submit" value="subir"/>
</form>
Código PHP:
<?php
# Eial 2004 la versión orginial se encuentra en [url]http://www.programacionweb.net[/url]
if (is_uploaded_file($_FILES['archivo']['tmp_name']) === TRUE)
{
$imagen = mysql_escape_string(join(@file($_FILES['archivo']['tmp_name'])));
$nombre = mysql_escape_string($_POST['nombre']);
$tipo = $_FILES['archivo']['type'];
# Configurar las dos lineas siguientes
@mysql_connect('localhost','root','mypass') or die('No se ha podido conectar el servidor de datos');
@mysql_select_db('imagenes') or die('La base de datos es inexistente');
if (isset($nombre))
{
if (@mysql_result(@mysql_query("SELECT nombre FROM ". $album ." WHERE nombre='$nombre'"),'nombre')) die('El nombre de la imagen esta actualmente en uso');
}
@mysql_query("INSERT INTO ". $album ."(nombre,tipo,imagen) VALUES('$nombre','$tipo','$imagen')");
$id = @mysql_insert_id();
echo "
<html>
<body>
<p align='center'>Se ha subido la imagen a la base de datos</p>
Album: ". $album . "<br>
Nombre: ". $nombre ."<br>
Tipo: ". $tipo ."<br>
ID: ". $id ."<br>
Subir otra imagen <a href='index.php'> click aqui</a><br>
<form action='imagenes.php'>
<input type='hidden' name='album' value='". $album ."'>
<input type='hidden' name='id' value='".$id."'>
<input type='submit' value='Ver imagen'>
</form>
</body>
</html>
";
exit;
}
else
{
echo '
No se pudo subir intenta de nuevo
';
}
?>
imagenes.php
Código PHP:
<?php
# Eial 2004 la versión orginial se encuentra en [url]http://www.programacionweb.net[/url]
# Configurar las dos lineas siguientes
@mysql_connect('localhost','root','mypass') or die('No se puede conectar con el servidor mysql');
@mysql_select_db('imagenes') or die('No se puede seleccionar la base de datos especificada');
$datos = ($_GET['id']) ? 'id=' . mysql_escape_string($_GET['id']) : "nombre='" . mysql_escape_string($_GET['nombre']) . "'";
$resultado = @mysql_query("SELECT imagen,tipo FROM ". $album ." WHERE " . $datos);
$imagen = @mysql_fetch_assoc($resultado) or die('Imagen inexistente');
header("Content-type: $imagen[tipo]");
print $imagen['imagen'];
?>
¿Como puedo mostrar las todas las imagenes de una tabla a la vez con un link?
Las imagenes se organiza por id en la DB. y para verlas se utiliza el siguiente una estructura parecida al siguiente achivo
Código PHP:
<a href="ver_imagen.php?id=' . $id . '">ver imagen</a>
Código PHP:
<?php
$datos = ($_GET['id']) ? 'id=' . mysql_escape_string($_GET['id']) : "nombre='" . mysql_escape_string($_GET['nombre']) . "'";
$resultado = @mysql_query("SELECT imagen,tipo FROM tabla WHERE " . $datos);
$imagen = @mysql_fetch_assoc($resultado) or die('Imagen inexistente');
header("Content-type: $imagen[tipo]");
print $imagen['imagen'];
?>
Por favor ayudenme
Muchas gracias.
P.D: Estoy realizando un PHPScript (pagina web para novios) Ya tiene sistema de mensajeria instantanea (ProChatRomm v5) con todos los plugins y un tema modificado por mi, el chat lo ejemplifique al máximo Sencillo y amoroso, una seccion de cartas ( Mis cartas enviadas , Mis cartas recibidas, escribir carta ) Login de usuarios, Perfil, los cartas incluyen opcion a usar editor sencillo o abanzando TinyMCE, le voy a poner un script para subir videos, imagenes (es en lo que estoy actualmente) y musica.
Echenme la mano porfavor no pido dudas imposibles, acabamos juntos este script y lo colgamos en descarga directa para programacionweb.net y forosdelweb.com o para la que si me ayude. Saludos!
Espero me echen la mano, muchas gracias.
Deseo terminar este script para mi novia lo mas pronto posible
Saludos!