Foros del Web » Programando para Internet » PHP »

Frm de producto(nuevo y edicion) + upload multiple FOTOS

Estas en el tema de Frm de producto(nuevo y edicion) + upload multiple FOTOS en el foro de PHP en Foros del Web. Tengo el problema de no poder realizar un formulario correctamente, en algun paso me estanco y por eso quiero pedir ayuda, claro esta que al ...
  #1 (permalink)  
Antiguo 18/11/2011, 08:26
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cordoba
Mensajes: 42
Antigüedad: 12 años, 5 meses
Puntos: 0
Frm de producto(nuevo y edicion) + upload multiple FOTOS

Tengo el problema de no poder realizar un formulario correctamente, en algun paso me estanco y por eso quiero pedir ayuda, claro esta que al hacerlo para cargar datos de campo de texto, para precio, descripcion , etc es facil. Me surge el problema para hacer que cargue 4 o mas fotos por producto, y despues poder editar estas fotos tambien o eliminarlas.
  #2 (permalink)  
Antiguo 18/11/2011, 08:33
 
Fecha de Ingreso: abril-2009
Mensajes: 46
Antigüedad: 15 años
Puntos: 1
Respuesta: Frm de producto(nuevo y edicion) + upload multiple FOTOS

En el atributo name de cada input tipo file puedes poner un array.

<input type="file" name="imagen[]" >

Recuperda poner bien el encoding del formulario.

Luego recorres el vector imagen normalmente.
  #3 (permalink)  
Antiguo 18/11/2011, 08:53
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cordoba
Mensajes: 42
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Frm de producto(nuevo y edicion) + upload multiple FOTOS

Cita:
Iniciado por opzina2 Ver Mensaje
En el atributo name de cada input tipo file puedes poner un array.

<input type="file" name="imagen[]" >

Recuperda poner bien el encoding del formulario.

Luego recorres el vector imagen normalmente.

Veamos compañero.
te muestro que me paso hasta donde hice como vos comentas.
aca esta el campo donde paso fotos, tiene una funcion javascript que anida un input file al seleccionar subir otra foto
<input type="file" name="archivos[]" style="width: 215px" /><br />
</div></dd>
<dt><a href="#" onClick="addCampo()"><span style="font-size:small">Subir otra imagen</span></a></dt>


luego mustro como tomo los datos, hago el bucle, traigo los datos, agrego variables al array vector, y tambien inserto en una carpeta las fotos, tengo una tabla aparte para las fotos y cada foto tiene su idproducto

<?php
//analizar form, agregar producto
if(isset($_POST['act'])){
$nombre__prod = mysql_real_escape_string($_POST['N__prod']);
$precio__prod = mysql_real_escape_string($_POST['P__prod']);

$detalles__prod = mysql_real_escape_string($_POST['D__prod']);
$id_ct = mysql_real_escape_string($_POST['select1']);
$idsubcat = $_POST['select2'];

$img =$_FILES["archivos"];
if (isset ($img)) {
//de se asi, para procesar los archivos subidos al servidor solo debemos recorrerlo
//obtenemos la cantidad de elementos que tiene el arreglo archivos
$tot = count($_FILES["archivos"]["name"]);
for ($i = 0; $i < $tot; $i++){
$name = $_FILES["archivos"]["name"][0];
$name1 = $_FILES["archivos"]["name"][1];
$name2 = $_FILES["archivos"]["name"][2];
$name3 = $_FILES["archivos"]["name"][3];
move_uploaded_file($_FILES['archivos']['tmp_name'][0],"../img_/$name");
move_uploaded_file($_FILES['archivos']['tmp_name'][1],"../img_/$name1");
move_uploaded_file($_FILES['archivos']['tmp_name'][2],"../img_/$name2");
move_uploaded_file($_FILES['archivos']['tmp_name'][3],"../img_/$name3");
}

}

//vemos si el nombre de producto es identico a otro producto del sistema
$sql = mysql_query("SELECT id FROM productos WHERE nombreProd = '$nombre__prod' LIMIT 1 ");
$P__coincidencia = mysql_num_rows($sql);
if($P__coincidencia > 0){
echo 'Disculpe, trato de crear un producto que ya existe ,<a href="inventorio.php">click aca</a>';
exit();
}
$sql = mysql_query( "INSERT INTO productos(nombreProd,precio,detalles,dia_added,id_ ct,subcategoria,foto1,foto2,foto3,foto4)
VALUES('$nombre__prod','$precio__prod','$detalles_ _prod',now(),$id_ct,'$idsubcat')") or die(mysql_error());
$pid = mysql_insert_id();

if(isset($name)){
$sql = mysql_query( "INSERT INTO fotoxproducto(ruta_foto,idproducto)
VALUES('$name','$pid')") or die(mysql_error());}
if(isset($name1)){
$sql_1 = mysql_query( "INSERT INTO fotoxproducto(ruta_foto,idproducto)
VALUES('$name1','$pid')") or die(mysql_error());}
if(isset($name2)){
$sql_2 = mysql_query( "INSERT INTO fotoxproducto(ruta_foto,idproducto)
VALUES('$name2','$pid')") or die(mysql_error());}
if(isset($name3)){
$sql_3 = mysql_query( "INSERT INTO fotoxproducto(ruta_foto,idproducto)
VALUES('$name3','$pid')") or die(mysql_error());}
//$pid = mysql_insert_id();
//imagen
//$nw__img = "$pid.jpg";
//move_uploaded_file($_FILES['fileField']['tmp_name'],"../eCommIMG/$nw__img");
header("location: inventorio.php");
exit();
}
?>

hasta aca va funcionando como quiero.
Luego en editar pasa lo siguiente
Esta primera parte es lo que muestro en el form editar, traigo las fotos de los productos con sus id, nombre de este id que es la ruta a la foto y un id del producto asociado.
esto va bien, por que lo utilizo para eliminar con un unlink la foto de la carpeta, y eliminar el id de la tabla fotosxproducto para eliminar tambien de la base de datos.

<?php
$sql1 = mysql_query("SELECT * FROM fotoxproducto where idproducto='$elid' ");
$numrows = mysql_num_rows($sql1);


while($row_foto = mysql_fetch_array($sql1)){
$idfotito = $row_foto["idf"];
$namefoto = $row_foto["ruta_foto"];
?>

<td>
<label>
<img src="../img_/<?php echo $namefoto; ?>" width="40" heigth="52" border="1"/>
<a href="inventorio_edit.php?idfoto=<?php echo $idfotito ?>&rutafoto=<?php echo $namefoto; ?>&pid=<?php echo $elid; ?>&act=eliminar">Eliminar</a>


</label>
</td>


y el codigo que utilizo es este:

<?php
if(isset($_GET['idfoto'])){
//elimino iten desde sistema y desde imagen
// elimino desde bd
$act =$_GET['act'];
$idfoto =$_GET['idfoto'];
$ruta_foto =$_GET['rutafoto'];
$img =$_FILES["upload"];
if ($act == "eliminar")
{
$sql = mysql_query("DELETE FROM fotoxproducto where idf='$idfoto' ")or die(mysql_error());
$ruta_p_foto = ("../img_/$ruta_foto");
if(file_exists($ruta_p_foto)){
unlink($ruta_p_foto);}

}else{
//$sql = mysql_query("UPDATE fotoxproducto SET ruta_foto='' where idf='$idfoto'")or die(mysql_error());
//quitar imagen de servidor
}

}
?>


en la edicion es donde no puedo hacer la logica.
un abrazo y agradezco toda ayuda.

Etiquetas: formulario, fotos, frm, upload
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:26.