Foros del Web » Programando para Internet » PHP »

Info sobre insercion y modificacion..

Estas en el tema de Info sobre insercion y modificacion.. en el foro de PHP en Foros del Web. Hola a todos... antes que nada soy nuevo en esto del PHP... estoy realizando un trabajillo para la U y me encontre este codigo de ...
  #1 (permalink)  
Antiguo 25/02/2011, 00:42
 
Fecha de Ingreso: febrero-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Info sobre insercion y modificacion..

Hola a todos... antes que nada soy nuevo en esto del PHP... estoy realizando un trabajillo para la U y me encontre este codigo de un tal ricardo... aproposito mil felicitaciones por esa labor altruista...

Bueno el caso es que no se que pueda estar mal en este codigo... he seguido "creo" los canones de la programacion... pero aun no anda...
La idea es que una vez recuperado los datos desde el form... y enviados a la misma pagina... me actualice la tabla llamada salidas1... pero que ademas me modifique la tabla llamada activo... es decir que lo que viene en el form con campo cantidad me lo descuente de la tabla activo.... No se si soy claro en lo que pretendo...

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {


$status = "Abierto";
$cedula = $_POST['cc_responsable'];
$valtot= $_POST['cantidad']* $_POST['precio_vent'];
$totventa=$_POST['cantidad'];
$insertSQL = sprintf("INSERT INTO salidas1 (serial_emp, descripcion, serial, area, cantidad, precio_vent,
precio, motivo_salida, fecha_salida, cc_responsable, nombre_responsable, status)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s)",
GetSQLValueString($_POST['serial_emp'], "text"),
GetSQLValueString($_POST['descripcion'], "text"),
GetSQLValueString($_POST['serial'], "text"),
GetSQLValueString($_POST['area'], "text"),
GetSQLValueString($_POST['cantidad'], "int"),
GetSQLValueString($valtot, "text"),
GetSQLValueString($_POST['precio'], "text"),
GetSQLValueString($_POST['motivo_salida'], "text"),
GetSQLValueString($_POST['fecha_salida'], "date"),
GetSQLValueString($cedula, "text"),
GetSQLValueString($_POST['nombre_responsable'], "text"),
GetSQLValueString($status, "text"));

switch ($_POST['motivo_salida']) {
case "Venta Directa":
$sql1 = "SELECT `cantidad` FROM `activo` WHERE `serial_emp` = %s LIMIT 0, 30 ";
$result2=mysql_query($sql1);
$row=mysql_fetch_array($result2);
$cantsalida1= $row['cantidad'];
$total=$totventa - $cantsalida1;
$sql1 = "UPDATE `activo` SET `cantidad` = '$total' WHERE `serial_emp` = %s";
$res= mysql_query( $sql1 ) or die(mysql_error());

break;


}
mysql_select_db($database_Activos3, $Activos3);
  #2 (permalink)  
Antiguo 25/02/2011, 03:27
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Info sobre insercion y modificacion..

Cita:
Iniciado por jairquiereaprender Ver Mensaje
Hola a todos... antes que nada soy nuevo en esto del PHP... estoy realizando un trabajillo para la U y me encontre este codigo de un tal ricardo... aproposito mil felicitaciones por esa labor altruista...

Bueno el caso es que no se que pueda estar mal en este codigo... he seguido "creo" los canones de la programacion... pero aun no anda...
La idea es que una vez recuperado los datos desde el form... y enviados a la misma pagina... me actualice la tabla llamada salidas1... pero que ademas me modifique la tabla llamada activo... es decir que lo que viene en el form con campo cantidad me lo descuente de la tabla activo.... No se si soy claro en lo que pretendo...

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {


$status = "Abierto";
$cedula = $_POST['cc_responsable'];
$valtot= $_POST['cantidad']* $_POST['precio_vent'];
$totventa=$_POST['cantidad'];
$insertSQL = sprintf("INSERT INTO salidas1 (serial_emp, descripcion, serial, area, cantidad, precio_vent,
precio, motivo_salida, fecha_salida, cc_responsable, nombre_responsable, status)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s)",
GetSQLValueString($_POST['serial_emp'], "text"),
GetSQLValueString($_POST['descripcion'], "text"),
GetSQLValueString($_POST['serial'], "text"),
GetSQLValueString($_POST['area'], "text"),
GetSQLValueString($_POST['cantidad'], "int"),
GetSQLValueString($valtot, "text"),
GetSQLValueString($_POST['precio'], "text"),
GetSQLValueString($_POST['motivo_salida'], "text"),
GetSQLValueString($_POST['fecha_salida'], "date"),
GetSQLValueString($cedula, "text"),
GetSQLValueString($_POST['nombre_responsable'], "text"),
GetSQLValueString($status, "text"));

switch ($_POST['motivo_salida']) {
case "Venta Directa":
$sql1 = "SELECT `cantidad` FROM `activo` WHERE `serial_emp` = %s LIMIT 0, 30 ";
$result2=mysql_query($sql1);
$row=mysql_fetch_array($result2);
$cantsalida1= $row['cantidad'];
$total=$totventa - $cantsalida1;
$sql1 = "UPDATE `activo` SET `cantidad` = '$total' WHERE `serial_emp` = %s";
$res= mysql_query( $sql1 ) or die(mysql_error());

break;


}
mysql_select_db($database_Activos3, $Activos3);
Qué es %s aquí: $sql1 = "UPDATE `activo` SET `cantidad` = '$total' WHERE `serial_emp` = %s"; ??

Creo que deberías sustituir ese %s por la variable que sea, en este caso: $_POST['serial_emp'].

Prueba cambiando eso y me dices.

Un saludo!
  #3 (permalink)  
Antiguo 25/02/2011, 08:45
 
Fecha de Ingreso: febrero-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Info sobre insercion y modificacion..

%s por lo que he leido esto sirve para capturar los datos y convertirlos en texto... creo haber entendido eso... los datos enviados atraves del formulario los carga bien en la tabla salidas1 pero al hacer la modificacion a la tabla activo... no... en cuanto a lo que me dices sobre la modificacion... he probado asi:

$sql1 = "UPDATE `activo` SET `cantidad` = '$total' WHERE `serial_emp` = "$_POST['serial_emp']"";
Tambien con comillas sencillas pero nada me arroja un error de sintaxis...
Por tu colaboracion gracias... reitero este codigo solamente lo estoy modificando yo no lo cree... no quiero robarme creditos ni mucho menos... el creador es un tal Ricardo... no recuerdo el apellido.... mil gracias
  #4 (permalink)  
Antiguo 25/02/2011, 11:20
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Info sobre insercion y modificacion..

Podrías poner el error que te aparece??

No sé si es por el foro o es que realmente lo tienes así, pero la sintaxis correcta sería:

Código PHP:
$sql1 "UPDATE activo SET cantidad = '".$total."' WHERE serial_emp = '".$_POST["serial_emp"]."'"
Antes de cada variable siempre va lo mismo: coma simple, comillas, punto y después siempre va: punto, comillas, coma simple.

Lo digo por aclarar jejeje.

Prueba lo que te dije y pon el error que te tira para saber algo más.

Un saludo!!
  #5 (permalink)  
Antiguo 25/02/2011, 22:24
 
Fecha de Ingreso: febrero-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Info sobre insercion y modificacion..

%s por lo que he leido esto sirve para capturar los datos y convertirlos en texto... creo haber entendido eso... los datos enviados atraves del formulario los carga bien en la tabla salidas1 pero al hacer la modificacion a la tabla activo... no... en cuanto a lo que me dices sobre la modificacion... he probado asi:

$sql1 = "UPDATE `activo` SET `cantidad` = '$total' WHERE `serial_emp` = "$_POST['serial_emp']"";
Tambien con comillas sencillas pero nada me arroja un error de sintaxis...
Por tu colaboracion gracias... reitero este codigo solamente lo estoy modificando yo no lo cree... no quiero robarme creditos ni mucho menos... el creador es un tal Ricardo... no recuerdo el apellido.... mil gracias
  #6 (permalink)  
Antiguo 25/02/2011, 22:26
 
Fecha de Ingreso: febrero-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Info sobre insercion y modificacion..

nada tenias razon sobre la ubicacion de las comillas que bola soy... pero bueno.. ahi sigo aprendiendo... pero con respecto a lo demas nada no me tira la info como requiero... solamente me envia los datos a la tabla salidas1.. pero no modifica la de activo... tenes otra ideilla,... gracias.
  #7 (permalink)  
Antiguo 26/02/2011, 04:38
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Info sobre insercion y modificacion..

Pues la verdad es que no sé muy bien qué puede estar fallando pero te voy a recomendar algo:

Código PHP:
switch ($_POST['motivo_salida']) {
case 
"Venta Directa":

echo 
'ENTROOOOOO';
echo 
'<br>';
$sql1 "SELECT cantidad FROM activo WHERE serial_emp = '".$variable(no sé cual estan sólo sustitúyela)."' LIMIT 0, 30 ";
$result2=mysql_query($sql1);
$row=mysql_fetch_array($result2);
$cantsalida1$row['cantidad'];
echo 
$totventa;
echo 
'<br>';
echo 
$cantsalida1;
echo 
'<br>';
$total=$totventa $cantsalida1;
$sql1 "UPDATE activo SET cantidad = '".$total."' WHERE serial_emp = '".$variable(igual que arriba)."'";
$resmysql_query$sql1 ) or die(mysql_error());

break;



Con los echos puedes comprobar si el switch se ejecuta bien. Es una buena manera de detectar errores. Comprueba eso y dime que valores introduces en el formulario, qué valores te imprime, si coinciden, si entra en ese case del switch, y si al hacer el UPDATE mysql te tira algún error o se ejecuta bien.

Un saludo.

Etiquetas: info, modificacion
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 16:21.