Tema: S.o.s!!
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/05/2006, 03:26
JcG86
 
Fecha de Ingreso: mayo-2006
Mensajes: 26
Antigüedad: 17 años, 11 meses
Puntos: 0
hola de nuevo y gracias por la rapida respuesta.
os pongo aqui tanto la cracion de las tablas como la forma que tengo de guardarlas en la bd y d extraerlas...

creacion de las tablas:
Código PHP:
<? 
$base
="rafaelfoto";
if(
$c=mysql_connect ("localhost","root",""))
    { 
  
mysql_query("CREATE DATABASE $base");
    
mysql_select_db ($base$c);
              
  
$tabla "clientes";
  
$crear="CREATE TABLE IF NOT EXISTS ";
  
$crear .="$tabla";
  
$crear .="( ";
  
$crear .="cliente CHAR(20) PRIMARY KEY, ";
  
$crear .="password CHAR (15) NOT NULL ";
  
$crear .=")";
  
mysql_query ($crear ,$c);
  
  
$tabla "administradores";
  
$crear="CREATE TABLE IF NOT EXISTS ";
  
$crear .="$tabla";
  
$crear .="( ";
  
$crear .="admin CHAR(20) PRIMARY KEY, ";
  
$crear .="password CHAR (15) NOT NULL ";
  
$crear .=")";
  
mysql_query ($crear ,$c);
  
  
$tabla "album";
  
$crear="CREATE TABLE IF NOT EXISTS ";
  
$crear .="$tabla";
  
$crear .="( ";
  
$crear .="`cliente` varchar(20) NOT NULL, ";
  
$crear .="`foto` mediumblob NOT NULL, ";
  
$crear .="`tipo_foto` varchar (10) NOT NULL, "
  
$crear .="`titulo` varchar(20) NOT NULL, ";
  
$crear .="`comentario` varchar(255), ";
  
$crear .="PRIMARY KEY (cliente, titulo)";
  
$crear .=")";
  
mysql_query ($crear ,$c); 

  
  
mysql_close($c);
  }
?>
guardar en la bd las imagenes:
Código PHP:
<?
$foto_name
$_FILES['foto']['name'];
$foto_size$_FILES['foto']['size'];
$foto_type=  $_FILES['foto']['type'];
$foto_temporal$_FILES['foto']['tmp_name'];
$cliente$_POST['cliente'];
$titulo$_POST['titulo'];
/* limitamos los formatos de imagen admitidos a:
    - png  que segun del navegador que ulicemos puede ser en IE image/x-png y en Firefox y Mozilla image/png
    - jpg que puede tener como tipo en IE image/pjpeg  en Firefox y Mozilla image/jpeg
    - gif que tiene como tipo image/gif en todos los navegadores
*/
if ($foto_type=="image/x-png" OR $foto_type=="image/png"){
 
$extension="image/png";
 }
if (
$foto_type=="image/pjpeg" OR $foto_type=="image/jpeg"){
 
$extension="image/jpeg";
 }
if (
$foto_type=="image/gif" OR $foto_type=="image/gif"){
 
$extension="image/gif";
 }
//condicionamos la inserción a que la foto tenga nombre, tamaño distinto de cero, extensión no nula y titulo
if ($foto_name != "" AND $foto_size != AND $cliente !='' AND $extension !='' AND $titulo != ""){
//reconversion de la imagen para meter en la tabla:    abrimos el fichero temporal en modo lectura "r" binaria"b"
$f1fopen($foto_temporal,"rb");
//leemos el fichero completo limitando la lectura al tamaño de fichero        
$foto_reconvertida fread($f1$foto_size);
//con addslashes anteponemos \ a las comillas que pudiera contener el fichero para evitar que sean interpretadas como final de cadena    
$foto_reconvertida=addslashes($foto_reconvertida);
//abrimos la base de datos y escribimos las intrucciones de inserción en el campo BLOB insertaremos la foto_reconvertida
$base="rafaelfoto";
$tabla="album";
$c=mysql_connect ("localhost","root","");
mysql_select_db ($base$c);
$meter="INSERT INTO ".$tabla;
$meter .=" (cliente, foto, tipo_foto, titulo) ";
$meter .=" VALUES('$cliente','$foto_reconvertida','$extension','$titulo')";
    if (@
mysql_query($meter,$c)){
        print 
"Foto guardada en la tabla";
        }else{
        print 
"Ha habido un error al guardar la foto";
    }
}else{
    echo 
"<h2>No ha podido transferirse el fichero</h2>";
 }
 
mysql_close();
?>
y para extraerlas:
Código PHP:
<?
session_start
();
$base="rafaelfoto";
$tabla="album";
$c=mysql_connect("localhost","root","");
mysql_select_db($base,$c);
    
$log $_SESSION['login'];    
    if (
$log == "")
    {
        echo 
'<body background="images/fondodenegado.jpg">';
    }
    else
    {
        echo 
'<body background="images/fondoframes.jpg">';
        echo 
"<table align='center'>";
        
$sacar "SELECT * FROM ".$tabla." where cliente like '".$log."'";
        
$resultado mysql_query($sacar,$c);
        
$valor mysql_num_rows($resultado);
        if (
$valor!=0)
        {
            while (
$registro mysql_fetch_array($resultado))
            {
            echo 
"<center>";
            echo 
'<table background="images/fondoframes.jpg" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" align="center" width="640" height="440">';
                echo 
"<tr><td colspan='2'><center>".$registro['titulo']."</td></tr>";
                echo 
"<tr><td colspan='2'><center><img src='ver_foto.php?n=".$registro['cliente']."' width=300></center></td></tr>";
                
?>
                <form action="agregarcoment.php" method="post">
                    <tr><td colspan='2' align="center"><textarea name="comentario" cols="50" rows="5"></textarea></td></tr>
                    <tr><td align="right"><input type="submit" value="Enviar"></td>
                    <td align="left"><input type="reset" value="Borrar"></td></tr>
                </form>
                <?    
            
echo '</table></center>';
            }

        }
        else
        {
            echo 
'<table align="center"><tr><td class="title2">';
            echo 
$_SESSION['login'];
            echo 
", actualmente no tienes fotos en el album";
        }
    }
mysql_close();
?>
ver_foto.php:
Código PHP:
<?
$client
=$_REQUEST['n'];
$base="rafaelfoto";
$tabla="album";
$c=mysql_connect ("localhost","root","");
mysql_select_db ($base$c);
    
$sacar "SELECT * FROM ".$tabla." WHERE (cliente like '".$client."')" ;
    
$resultado mysql_query($sacar,$c);
    while (
$registro mysql_fetch_array($resultado)){
        
$tipo_foto=$registro['formato'];
        
header("Content-type: $tipo_foto");
        echo 
$registro['foto'];
}
mysql_close();
?>
aqui esta todo el codigo espero que asi sea mas facil que me ayudeis