Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema para actualizar

Estas en el tema de problema para actualizar en el foro de PHP en Foros del Web. Saludos, tengo un problema para actualizar mi base de datos que no logro identificar , espero alguien me pueda ayudar aquí dejo mi codigo: editar_producto.php ...
  #1 (permalink)  
Antiguo 03/09/2013, 17:37
Avatar de ghiper  
Fecha de Ingreso: julio-2013
Ubicación: Guadalajara Jalisco
Mensajes: 80
Antigüedad: 10 años, 9 meses
Puntos: 0
Sonrisa problema para actualizar

Saludos, tengo un problema para actualizar mi base de datos que no logro identificar , espero alguien me pueda ayudar aquí dejo mi codigo:

editar_producto.php

Código HTML:
Ver original
  1. <form method="POST" action="editar_productos2.php">
  2.        
  3.             <p align="center"><b>ID del registro a actualizar: </b></td>
  4.          
  5.             <p align="center"><input type="text" name="id" size="20"></td>
  6.        
  7.             <p align="center">
  8.             <input type="submit" value="Iniciar actualización" name="B1"></td>
  9.          
  10.         </form>

editar_productos2.php
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.     <div><label></label><input name='imagen' type='file' class='cargar-imagen'></div>
  34.     <div>
  35.     <input type='submit' value='Actualizar datos' name='B1'></div>    
  36.     </form>
  37.       <?php }
  38. ?>

actualiza_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."' WHARE id='".$id."'";
  11. echo "<p>Los datos han sido actualizados con exito.</p>";
  12. mysql_query($sSQL) or die ("problema con query");;  
  13. ?>

espero que con esto sea suficiente para que me ayuden a identificar mi problema y de ante mano gracias.
  #2 (permalink)  
Antiguo 03/09/2013, 17:57
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: problema para actualizar

y que error te muestra??
si no te genera error intenta con esto
Código PHP:
Ver original
  1. mysql_query($sSQL) or die (mysql_error());
ten cuidado porque las funciones de mysql ya estan obsoletas
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 03/09/2013, 18:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: problema para actualizar

Código SQL:
Ver original
  1. imagen='".$destino."' WHARE id='".$id."'

¿WHARE?



¿No habrás querido poner "WHERE"?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 03/09/2013, 18:15
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 7 meses
Puntos: 50
Respuesta: problema para actualizar

Aparte de lo del WHERE, veo que no estás enviando el ID por POST en el formulario de editar_productos2.php, incluye la ID en un campo oculto por ejemplo:
<input type="hidden" name="id" value ="<?php echo $id ?>">

Saludos
  #5 (permalink)  
Antiguo 03/09/2013, 18:17
Avatar de Luismaster2000  
Fecha de Ingreso: junio-2011
Ubicación: Orizaba, Ver.
Mensajes: 499
Antigüedad: 12 años, 10 meses
Puntos: 31
Respuesta: problema para actualizar

en actualiza_productos.php donde esta tu variable sSQL a las variables quitales los puntos y las comillas dobles y vuelve a probar
  #6 (permalink)  
Antiguo 04/09/2013, 09:35
Avatar de ghiper  
Fecha de Ingreso: julio-2013
Ubicación: Guadalajara Jalisco
Mensajes: 80
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: problema para actualizar

Grax por sus respuestas ya e corregido los errores y aun asi no me actualiza alguna otra sugerencia??
  #7 (permalink)  
Antiguo 04/09/2013, 11:32
Avatar de ghiper  
Fecha de Ingreso: julio-2013
Ubicación: Guadalajara Jalisco
Mensajes: 80
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: problema para actualizar

agradezco a todos sus comentarios y sugerencias ya solucione mi problema
  #8 (permalink)  
Antiguo 04/09/2013, 11:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: problema para actualizar

...¿y el problema, finalmente era....?

Se agradece compartir soluciones. Es el sentido de FDW.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 04/09/2013, 13:44
Avatar de ghiper  
Fecha de Ingreso: julio-2013
Ubicación: Guadalajara Jalisco
Mensajes: 80
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: problema para actualizar

era algunos errores de sintaxis simples por ejemplo comillas y puntos en la consulta (".) incluir un campo oculto como lo indico snowmanchip
Código PHP:
Ver original
  1. <input type="hidden" name="id" value ="<?php echo $id ?>">

y también cambie un poco la estructura del php por ejemplo despues del while
Código PHP:
Ver original
  1. while ($registro = mysql_fetch_array($result)){        
  2. echo "
  3. <td width='150'>$id</td>
  4. <td width='150'>".$registro['nombre']."</td>  
  5. <td width='150'>".$registro['marca']."</td>  
  6. <td width='150'>".$registro['descripcion']."</td>
  7. <td width='150'>".$registro['precio']."</td>
  8. <td width='150'>".$registro['cantidad']."</td>
  9. <td width='150'>".$registro['imagen']."</td>";
  10. ?>

quite el echo y lo hice de mas simple por que aun tenia quehacer otro cambio

Código PHP:
Ver original
  1. <td width='150'><?php echo"$id";?></td>
  2. <td width='150'><?php echo $registro['nombre']?></td>  
  3. <td width='150'><?php echo $registro['marca']?></td>  
  4. <td width='150'><?php echo $registro['descripcion']?></td>
  5. <td width='150'><?php echo $registro['precio']?></td>
  6. <td width='150'><?php echo $registro['cantidad']?></td>
  7. <td width='150'><?php  echo "<img src='".$registro['imagen']."'width=150/>";?></td>
  8. </table>

y con eso me funciono a la perfección son pequeños detalles que deje pasar por alto y eso hacia que mi código no funcionara correctamente.

De nuevo agradezco su ayuda y atención.

Etiquetas: formulario, mysql, registro, select, sql
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 05:52.