Ver Mensaje Individual
  #18 (permalink)  
Antiguo 01/11/2007, 21:07
iarrieta
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Cómo subir texto y varias imágenes a la vez...?

Bueno, para ya casi cerrar este tema, cambie totalmente la estructura del sistema (revisando viejos consejos del maestro Cluster) y dividi el asunto en 3 tablas:

Una para la inmobiliaria con sus datos
Otra para las propiedades y sus datos (campo comun id_vendedor)
Otra para las imagenes de la propiedad (se ingresan inmediatamente despues de los datos de la propiedad en otro form)(campo comun id_propiedad)

Logre entonces un bucle for y asi ingreso N fotos a la base de datos como blob (asi no me complico tanto con fotos a carpeta y datos a BD)

El unico problema que me queda por resolver y es mas que todo para pulir el codigo y no un problema, es que en el for (como logre revisando hacerlo) indico un bucle de 12 fotos y el formulario tiene 12 campos imput. Sube las fotos perfecto a la BD pero, en el caso de que suba solo 4 o 5 en vez de 12, deja los campos vacios pero crea los ID, es decir, se desperdicia espacio en la tabla (creo) y pienso que lo mejor seria que solo subiese las fotos que realmente se ingresan e ignore los campos vacios.

Aqui el codigo:

Formulario...
Código HTML:
<form id="propiedades" name="propiedades" method="post" enctype="multipart/form-data" action="ingresar_imagenes.php">
<input name="id_propiedad" type="text" id="id_propiedad" size="10" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input name="archivo[]" type="file" id="archivo[]"size="45" />
<input type="submit" name="submit" id="submit" value="Ingresar Im&aacute;genes" />
</form> 

Codigo que sube...
Código PHP:
<?php
header 
("Location: form_propiedades.html");

include(
"connect.php");

for (
$i=0$i <= 11$i++){
//echo $i."<br>";

$binario_nombre_temporal=$_FILES['archivo']['tmp_name'][$i];
 
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal))); 
 
$binario_nombre=$_FILES['archivo']['name'][$i]; 
$binario_peso=$_FILES['archivo']['size'][$i]; 
$binario_tipo=$_FILES['archivo']['type'][$i]; 
 
$consulta_insertar "INSERT INTO imagenes (id, id_propiedad, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$id_propiedad', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");

}
exit; 
?>
Como pulirlo? Influye si en form manejo lo que hasta ahora hacia que era con javascript para crear los imput de acuerdo a imagenes iba a subir? y el for, como quedaria? se que el truco esta aqui:
Código PHP:
<? for ($i=0$i <= 11$i++){ ?>