Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/09/2013, 09:53
Avatar de ghiper
ghiper
 
Fecha de Ingreso: julio-2013
Ubicación: Guadalajara Jalisco
Mensajes: 80
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta problema con actualización en base de datos

saludos, tengo un archivo para cargar datos a mi base de datos donde ingresa algunos campos de texto y uno es la ruta de una imagen junto con la imagen a una carpeta, el problema es cuando tengo mi archivo para actualizar esos datos mis campos de texto se actualizan pero mi imagen no alguien me puede ayudar en esa parte.
aquí agrego mi código:

cargar-productos.php

Código PHP:
Ver original
  1. <form name="registrar" enctype="multipart/form-data" accept-charset="iso-8859-1" action=" " method="POST" onsubmit="return formulario(this)" class="cargabd">
  2.     <div><label>Nombre de Producto:</label><input name="producto" type="text" size="50" placeholder="Nombre del Producto" ></div>
  3.     <div><label>Marca de Producto:</label><input name="marca" type="text" size="50" placeholder="Marca del Producto"></div>
  4.     <div><label>Descripci&oacute;n de Producto:</label><textarea placeholder="Breve descripci&oacute;n del Producto (Opcional)" name="descripcion" class="textarea" rows="5" cols="39"></textarea></div>
  5.     <div><label>Precio de Producto:</label><input name="precio" type="text" size="50" placeholder="Precio del producto" onkeydown="return decimales(this, event)"></div>
  6.     <div><label>Cantidad de Productos:</label><input name="cantidad" placeholder="Total de Articulos"type="text" onkeypress="return isNumberKey(event)" size="50"></div>
  7.     <div><label></label><input name="imagen" type="file" class="cargar-imagen"></div>
  8.     <div> <input type="submit" name="guardar" value="Registrar Producto"/></div>    
  9.     </form>
  10.     <?php
  11.     if (isset($_POST['guardar'])) {
  12.         $permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png");
  13.         $limite_kb = 100;  
  14.         $carpeta = "imagenes-productos/";
  15.         opendir($carpeta);
  16.         if (in_array($_FILES['imagen']['type'], $permitidos) && $_FILES['imagen']['size'] <= $limite_kb * 1024){
  17.         $destino = $carpeta.$_FILES['imagen']['name'];
  18.         copy($_FILES['imagen']['tmp_name'],$destino);
  19.         $nombre = $_FILES['imagen']['name'];
  20.         $tamaño = $_FILES['imagen']['size'];
  21.            include_once("conexion.php");
  22.                    $producto=$_POST['producto'];
  23.                    $marca=$_POST['marca'];
  24.                    $descripcion=$_POST['descripcion'];
  25.                    $precio=$_POST['precio'];
  26.                    $cantidad=$_POST['cantidad'];
  27.                   // $nombre_archivo=$POST['imagen'];
  28.                    $query = "INSERT INTO productos (nombre,marca,descripcion,precio,cantidad,imagen)VALUES('$producto','$marca','$descripcion','$precio','$cantidad','$destino')";       mysql_query($query) or die(mysql_error());
  29.                    ob_start();
  30.   header("refresh: 5; url = cargar_productos.php");
  31.        echo "El Producto ".$producto." ha sido registrado de manera satisfactoria</br>junto con la imagen ".$nombre.".<br />";
  32.        ob_end_flush();}
  33. else{
  34.   header("refresh: 10; url = cargar_productos.php");
  35.   echo"La imagen supera el tamaño permitido a (".$limite_kb."kb)</br> o no es uno de los formatos no permitidos</br>intente nuevamente";
  36. }
  37. }
  38.  
  39. ?>

actualizar-productos.php

Código PHP:
Ver original
  1. <?php
  2. // Actualizamos en funcion del id que recibimos
  3. include_once "conexion.php";
  4. $id = $_POST['id'];
  5. $producto=$_POST['producto'];
  6. $marca=$_POST['marca'];
  7. $descripcion=$_POST['descripcion'];
  8. $precio=$_POST['precio'];
  9. $cantidad=$_POST['cantidad'];
  10. $sSQL="Update productos Set nombre='$producto', marca='$marca', descripcion='$descripcion', precio='$precio',cantidad='$cantidad',imagen='$destino' WHERE id='$id'";
  11. $act=mysql_query($sSQL);
  12. if($act == false){
  13.     echo '<p>Error al modificar los campos en la tabla.</p>';
  14. }else{
  15.     echo '<p>Los datos se han modificado correctamente.</p>';
  16. }
  17. exit();
  18. ?>

formulario para actualizar productos

Código PHP:
Ver original
  1. <table width="1000" cellpadding="10" cellspacing="10em" style="color: #000099; width: 950px;">
  2.     <tr style="background:#9BB;">
  3.         <td width="138" align="center" style="text-align:center">ID</td>
  4.         <td width="138" align="center" style="text-align:center">Producto</td>
  5.         <td width="92" align="center" style="text-align:center">Marca</td>
  6.         <td width="200" align="center" style="text-align:center">Descripcion</td>
  7.         <td width="119" align="center" style="text-align:center">Precio</td>
  8.         <td width="83" align="center" style="text-align:center">Cantidad</td>
  9.         <td width="126" align="center" style="text-align:center">Imagen</td>
  10.     </tr>
  11.     <?php  
  12. $id = $_POST['id'];
  13. $query = "SELECT * FROM productos WHERE id = '$id'";
  14. $result = mysql_query($query); 
  15. while ($registro = mysql_fetch_array($result)){        
  16. echo "
  17. <td width='150'>$id</td>
  18. <td width='150'>".$registro['nombre']."</td>  
  19. <td width='150'>".$registro['marca']."</td>  
  20. <td width='150'>".$registro['descripcion']."</td>
  21. <td width='150'>".$registro['precio']."</td>
  22. <td width='150'>".$registro['cantidad']."</td>
  23. <td width='150'>".$registro['imagen']."</td>";
  24. ?><h3 align='center'>Actualice los datos que considere</h3>
  25.             <p align='center'>En los campos del formulario puede ver los valores actuales, si no se cambian los valores se mantienen iguales.</p>
  26.       </table>
  27.  <form name='registrar' enctype='multipart/form-data' accept-charset='iso-8859-1' action='actualiza_productos.php' method='POST' onsubmit='return formulario(this)' class='cargabd'>
  28.     <div><label>Nombre de Producto:</label><input name='producto' type='text' size='50' placeholder='Nombre del Producto'></div>
  29.     <div><label>Marca de Producto:</label><input name='marca' type='text' size='50' placeholder='Marca del Producto'></div>
  30.     <div><label>Descripci&oacute;n de Producto:</label><textarea placeholder='Breve descripci&oacute;n del Producto (Opcional)' name='descripcion' class='textarea' rows='5' cols='39'></textarea></div>
  31.     <div><label>Precio de Producto:</label><input name='precio' type='text' size='50' placeholder='Precio del producto' onkeydown='return decimales(this, event)'></div>
  32.     <div><label>Cantidad de Productos:</label><input name='cantidad' placeholder='Total de Articulos'type='text' onkeypress='return isNumberKey(event)' size='50'></div>
  33.    
  34.     <div><label></label><input name='imagen' type='file' class='cargar-imagen'></div>
  35.     <input type='hidden' name='id' value='<?php echo $id ?>'>
  36.     <div><input type='submit' value='Actualizar datos' name='B1'></div>    
  37.     </form>
  38.       <?php }
  39. ?>

en mi código existe otro archivo donde hago la búsqueda para actualizar donde solo busca una variable para hacer la coincidencia para enviar al formulario de actualizacion, no lo agrego por que no lo creo importante para mi pregunta y no hacer un churro de codigo