Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema con actualización en base de datos

Estas en el tema de problema con actualización en base de datos en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 04/09/2013, 09:53
Avatar de 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
  #2 (permalink)  
Antiguo 04/09/2013, 10:14
Avatar de ghiper  
Fecha de Ingreso: julio-2013
Ubicación: Guadalajara Jalisco
Mensajes: 80
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: problema con actualización en base de datos

XD creo que mi problema ya lo solucione ahora tengo otro problema es que cuando debo mostrar la imagen me aparece la ruta de la imagen mas no la imagen

este este es el código:
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.              </table>

y esto es lo que quiero mostrar:



y esto es lo que me muestra:



espero me puedan ayudar y de ante mano gracias

Etiquetas: formulario, mysql, registro, select, sql, tabla, variable
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:12.