Foros del Web » Programando para Internet » PHP »

como editar un campo upload?

Estas en el tema de como editar un campo upload? en el foro de PHP en Foros del Web. tengo el siguiente form para agregar varios campos de imagen a un producto, quisiera editar este producto y me estoy complicando para resolver como hacer ...
  #1 (permalink)  
Antiguo 13/11/2011, 21:59
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cordoba
Mensajes: 42
Antigüedad: 12 años, 5 meses
Puntos: 0
como editar un campo upload?

tengo el siguiente form para agregar varios campos de imagen a un producto, quisiera editar este producto y me estoy complicando para resolver como hacer al aditar los campos de imagenes... POrfavor ayuda.


<?php
$productos__listados = "";
$sql = mysql_query("SELECT * FROM productos ORDER BY dia_added DESC");
$productos__contados = mysql_num_rows($sql);
if($productos__contados > 0){
while($col = mysql_fetch_array($sql)){
$id__p = $col["id"];
$nombre__prod = $col["nombreProd"];
$foto1 = $col["foto1"];
$foto2 = $col["foto2"];
$foto3 = $col["foto3"];
$foto4 = $col["foto4"];
$dia__added = strftime("%b %d, %Y", strtotime($col["dia_added"]));
$productos__listados .= "$dia__added - $id__p - $nombre__prod &nbsp;&nbsp;&nbsp; <a href='inventorio.php?eliminarid=$id__p'> eliminar</a> &bull; <a href='inventorio_edit.php?pid=$id__p'>editar</a><br/>" ;
}
}else{
$productos__listados = "Usted no tiene una lista de productos todavia" ;
}

?>

<html><head>
<script type="text/javascript">
var numero = 0; //Esta es una variable de control para mantener nombres
//diferentes de cada campo creado dinamicamente.
evento = function (evt) { //esta funcion nos devuelve el tipo de evento disparado
return (!evt) ? event : evt;
}

//Aqui se hace lamagia... jejeje, esta funcion crea dinamicamente los nuevos campos file
addCampo = function () {
//Creamos un nuevo div para que contenga el nuevo campo
nDiv = document.createElement('div');
//con esto se establece la clase de la div
nDiv.className = 'archivo';
//este es el id de la div, aqui la utilidad de la variable numero
//nos permite darle un id unico
nDiv.id = 'file' + (++numero);
//creamos el input para el formulario:
nCampo = document.createElement('input');
//le damos un nombre, es importante que lo nombren como vector, pues todos los campos
//compartiran el nombre en un arreglo, asi es mas facil procesar posteriormente con php
nCampo.name = 'archivos[]';
//Establecemos el tipo de campo
nCampo.type = 'file';
//Ahora creamos un link para poder eliminar un campo que ya no deseemos
a = document.createElement('a');
//El link debe tener el mismo nombre de la div padre, para efectos de localizarla y eliminarla
a.name = nDiv.id;
//Este link no debe ir a ningun lado
a.href = '#';
//Establecemos que dispare esta funcion en click
a.onclick = elimCamp;
//Con esto ponemos el texto del link
a.innerHTML = 'Eliminar';
//Bien es el momento de integrar lo que hemos creado al documento,
//primero usamos la función appendChild para adicionar el campo file nuevo
nDiv.appendChild(nCampo);
//Adicionamos el Link
nDiv.appendChild(a);
//Ahora si recuerdan, en el html hay una div cuyo id es 'adjuntos', bien
//con esta función obtenemos una referencia a ella para usar de nuevo appendChild
//y adicionar la div que hemos creado, la cual contiene el campo file con su link de eliminación:
container = document.getElementById('adjuntos');
container.appendChild(nDiv);
}
//con esta función eliminamos el campo cuyo link de eliminación sea presionado
elimCamp = function (evt){
evt = evento(evt);
nCampo = rObj(evt);
div = document.getElementById(nCampo.name);
div.parentNode.removeChild(div);
}
//con esta función recuperamos una instancia del objeto que disparo el evento
rObj = function (evt) {
return evt.srcElement ? evt.srcElement : evt.target;
}
</script>

</head>
<form action="inventorio.php" enctype="multipart/form-data" name="miform" id="miform" method="post">
<h3>Nuevo Producto </h3>
<table width="100%" cellpadding="0" cellspacing="0" >
<tr>
<td width="43%" >
<a name="inventorioform" id="inventorioform"></a>
<table width="80%" cellspacing="0" cellpadding="0" align="left">
<tr>
<td ><dl>
<dt><label><span style="font-size:medium">Imagen a Subir:</span></label></dt>
<!-- Eca es donde yo agrego los campos input y donde tendria que traer las imagenes para eliminar o editar , en el form editar -->
<dd><div id="adjuntos" style="font-size:x-small;">

<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>
<dd><!-- <input type="submit" value="Enviar" id="envia" name="envia" /> --></dd>
</dl></td>
</tr>
<tr>
<td width="166" ><strong>Nombre</strong></td>

<td colspan="4"><label for="textfield"></label>
<input name="N__prod" type="text" id="N__prod" size="40" style="width: 180px" /></td>
</tr>
<tr>
<td style="height: 12px" ></td>
<td colspan="4" style="height: 12px"></td>
</tr>

<tr>
<td style="height: 18px"><strong>Precio</strong></td>
<td colspan="4" style="height: 18px"><label for="textfield2"></label>
<input name="P__prod" type="text" id="P__prod" size="40" style="width: 180px" /></td>
</tr>
<?php
function generaSelect()
{
include 'conexion.php';
//include '../includes/sesionID.php';
conectar();
$consulta=mysql_query("SELECT id_categoria, nombre_ct FROM categorias where id_subcategoria = 0 ");
desconectar();

// Voy imprimiendo el primer select compuesto por los paises
echo "<select name='select1' id='select1' onChange='cargaContenido(this.id)' style='width:180px;'>";
echo "<option value='0'>Elige</option>";
while($registro=mysql_fetch_row($consulta))
{
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}
echo "</select>";
}
?>

<tr>
<td style="height: 76px"><strong>Categoria<br/>Subcategoria</strong></td>
<td colspan="4" style="height: 76px">

<div id="demo" style="width:600px;">
<div id="demoIzq"><?php generaSelect(); ?></div>

<div id="demoMed">
<select disabled="disabled" name="select2" id="select2" style="width:180px;">
<option value="0">Selecciona opci&oacute;n...</option>
</select>
</div>
<div id="demoDer">
<!--<input type="hidden" name="select3" id="select3" style="width: 180px"/>
<select disabled="disabled" name="select3" id="select3">
<option value="0">Selecciona opci&oacute;n...</option>
</select>
</div>-->
</div>



<!-- <select name="cate" id="cate">
<?php

$sql_ct = mysql_query("SELECT * FROM categorias where id_subcategoria = 0");

while($row = mysql_fetch_row($sql_ct)) {
echo " <option";

if ($sql_ct == $row) { echo " selected"; }
echo " value=";
echo $row[0] ;
echo ">", $row[1],"</option>\n";
} ?>
</select>-->

</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="4">
<!-- <select name="subcate" id="subcate">
<?php

$sql_st = mysql_query("SELECT * FROM categorias where id_subcategoria <> 0");

while($row = mysql_fetch_row($sql_st)) {
echo " <option";

if ($sql_st==$row) { echo "selected"; }
echo " value=";
echo $row[0] ;
echo ">", $row[1],"</option>\n";
} ?>
</select>--></td>
</tr>
<?php /** TO DO */
/* insertar en area de texto palabras claves para la busqueda del producto */
?>
<tr>
<td></td>
<td colspan="4"></td>
</tr>
<tr>
<td><strong>Descripci&oacute;n</strong></td>
<td colspan="4"><label for="textarea"></label>
<textarea name="D__prod" id="D__prod" rows="5" style="width: 232px"></textarea></td>
</tr>
<tr>
<td><input type="hidden" name="act" value="1"/></td>
<td colspan="4"><input type="submit" name="button" id="button" value="Enviar" onclick="javascript:return validarMyForm();" /></td>
</tr>
</table>
</td></tr>

</table>
</form></div>
  #2 (permalink)  
Antiguo 13/11/2011, 23:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como editar un campo upload?

Los campos de tipo upload, es decir, para subir archivos no se pueden "editar".

Esto quiere decir que no puedes asignar el value al campo para poder editar su valor.

Lo único que debes hacer es mostrar un campo normal y repetir el proceso de upload, no hay mas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: formulario, html, imagenes, mysql, registro, sql, variables, campos
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 00:31.