Foros del Web » Programando para Internet » PHP »

Problema con UPDATE y php

Estas en el tema de Problema con UPDATE y php en el foro de PHP en Foros del Web. Hola, soy nueva en este foro, mi pregunta es la siguiente: Tengo un código php en el que obtengo registros de mi base de datos ...
  #1 (permalink)  
Antiguo 10/05/2010, 16:52
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Pregunta Problema con UPDATE y php

Hola, soy nueva en este foro, mi pregunta es la siguiente:
Tengo un código php en el que obtengo registros de mi base de datos y los muestro en un form, el problema esta en que cuando modifico los campos y le doy en el boton guardar, no me actualiza la base de datos, es decir, no hace nada.
Espero puedan ver si tengo algo mal en el codigo, Mi codigo es el siguiente:

<html>
<body>
<?php

include "conexion.php";

$id_producto = $_GET['id_producto']; //obtengo el id desde otra página
$nombre_producto = $_POST["nombre_producto"];
$descripcion = $_POST["descripcion"];
$id_categoria = $_POST["id_categoria"];
$existencias = $_POST["existencias"];
$precio_venta = $_POST["precio_venta"];
$precio_compra = $_POST["precio_compra"];

if (!isset($accion)){
$result=mysql_query("SELECT id_producto, nombre_producto, id_categoria, descripcion, existencias, precio_venta, precio_compra FROM productos WHERE id_producto='$id_producto'");
$row=mysql_fetch_row($result);
echo"
<form action='modificar.php?accion=guardar' method='POST'>
<table cellpadding='5' cellspacing='10'>
<tr>
<td>
<p>Nombre:
</td>
<td>
<input type='text' value='$row[1]' name='nombre_producto' size='40' maxlength='40'>
</td>
</tr>
<tr>
<td>
<p>Descripción:
</td>
<td>
<input type='text' value='$row[3]' name='descripcion' size='40' maxlength='100'>
</td>
</tr>
<tr>
<td>
<p>Categoría:
</td>
<td>
<select name='categoria' id='categoria'>
<option>$row[2]</option>
<option value='1'>Artesanías</option>
<option value='2'>Ropa</option>
<option value='3'>Souvenir</option>
</select>
</p>
</td>
</tr>
<tr>
<td>
<p>Existencia:
</td>
<td>
<input type='text' value='$row[4]' id='existencias' name='existencias' size='10' maxlength='5' >
</p>
</td>
</tr>
<tr>
<td>
<p>Precio de Venta:
</td>
<td>
<input type='text' value='$row[5]' id='precio_venta' name='precio_venta' size='10' maxlength='10'>
</p>
</td>
</tr>
<tr>
<td>
<p>Precio de Compra:
</td>
<td>
<input type='text' value='$row[6]' id='precio_compra' name='precio_compra' size='10' maxlength='10' >
</p>
</td>
</tr>
</table>
<br><br>
<input type='hidden' name='id_producto' value='$row[0]'>
<input type='submit' value='Guardar'>
</form>";
}elseif($accion==guardar){
$result =mysql_query("UPDATE productos SET nombre_producto='$nombre_producto', descripcion='$descripcion', id_categoria='$id_categoria', existencias='$existencias', precio_venta='$precio_venta', precio_compra='$precio_compra' WHERE id_producto=$id_producto");
echo "<script type=\"text/javascript\">
alert('Actualizado Satisfactoriamente');
</script>";
}
  #2 (permalink)  
Antiguo 10/05/2010, 17:00
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: Problema con UPDATE y php

Tendrás que poner al principio

$accion=$_GET['accion'];
__________________
Tengo una pregunta que a veces me tortura... ¿El loco soy yo o los locos son los demás?
  #3 (permalink)  
Antiguo 10/05/2010, 17:17
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: Problema con UPDATE y php

Gracias por contestar!!
lo he puesto despues del

$id_producto = $_GET['id_producto'];
$accion=$_GET['accion']; //aqui
...

El problema es que ahora rescribo en los campos le doy en guardar y me aparece el mensaje de actualizado satisfactoriamente, pero reviso la base y no me ha hecho ningun cambio.
  #4 (permalink)  
Antiguo 10/05/2010, 18:31
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Respuesta: Problema con UPDATE y php

Código PHP:
/*Te faltan las comillas*/
}elseif($accion=="guardar"){

/* Revisamos si esta llegando el valor agrega los demas*/
echo "Descripción="$descripcion;
$result =mysql_query("UPDATE productos SET nombre_producto='$nombre_producto', descripcion='$descripcion', id_categoria='$id_categoria', existencias='$existencias', precio_venta='$precio_venta', precio_compra='$precio_compra' WHERE id_producto=$id_producto") or die(mysql_error());

echo 
"<script type=\"text/javascript\">alert('Actualizado Satisfactoriamente');
</script>"
;

Avisanos como te fue.
  #5 (permalink)  
Antiguo 11/05/2010, 15:17
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Pregunta Respuesta: Problema con UPDATE y php

hola mauled, hice lo que me dijiste y sigue sin guardar los cambios en la base de datos, en cuanto a las variables las imprimo para ver si me esta llegando valor y si en todos los campos llega el valor nuevo excepto en el de categoria que se obtiene de un select, despues imprimo la variable result tambien para ver que es lo que esta obteniendo y me regresa un uno.
Ahora si ya no entendi, segun yo la sentencia update esta correcta pero no esta guardando en la bd.

Los cambios que hice quedaron asi:

...
}elseif($accion=="guardar"){ //agregue las comillas
echo "nombre=". $nombre_producto;
echo "Descripción=". $descripcion;
echo "categoria=". $id_categoria;
echo "existencias=". $existencias;
echo "precioveta=". $precio_venta;
echo "preciocompra=". $precio_compra;

$result =mysql_query("UPDATE productos SET nombre_producto='$nombre_producto', descripcion='$descripcion', id_categoria='$id_categoria', existencias='$existencias', precio_venta='$precio_venta', precio_compra='$precio_compra' WHERE id_producto='$id_producto'") or die(mysql_error());

echo "result=".$result;
}
  #6 (permalink)  
Antiguo 15/05/2010, 14:51
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: Problema con UPDATE y php [Resuelto]

Hola amigos!!
ya resolvi mi problemilla jeje
les digo como:

solo cambie

$id_producto = $_GET['id_producto'];

por

$id_producto=$_REQUEST['id_producto'];

Gracias
  #7 (permalink)  
Antiguo 15/05/2010, 16:04
Avatar de aguila_393  
Fecha de Ingreso: septiembre-2007
Ubicación: Argentina
Mensajes: 406
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Problema con UPDATE y php

Yo ando con un problema similar, quizas puedan ayudarme. Este es el fragmento de codigo:
Código PHP:
Ver original
  1. <?php
  2.  
  3. $conexion = mysql_connect ("localhost", "root", "jajaje") or die ("Problemas 1");
  4. mysql_select_db ("phpfacil", $conexion) or die ("Problemas 2 ".mysql_error());
  5. $registros= mysql_query ("update cursos
  6.    set email='$_REQUEST[emailNuevo]'
  7.    where email='$_REQUEST[emailViejo]' " ,
  8.     $conexion ) or die("Problemas 3 ".mysql_error());
  9.  
  10.     echo "El email se modifico correctamente.";
  11.  
  12. ?>

$_REQUEST[emailNuevo] es una variable que me da un email, y $_REQUEST[emailViejo] me da otro email, en la base de datos tengo que actualizar el email , reemplazando el viejo con el nuevo. El problema es similar al de este topico, me aparece que se guardaron los datos pero en la tabla no se actualizan.

Alguien sabe porque puede ser?

Etiquetas: update
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 15:48.