Foros del Web » Programando para Internet » PHP »

como guardar y actualizar en dos tablas con una centencia

Estas en el tema de como guardar y actualizar en dos tablas con una centencia en el foro de PHP en Foros del Web. buen dia a todos miren mi problema es el siguiente tengo dos tablas en las cuales tengo dos campos = que son material y cantidad ...
  #1 (permalink)  
Antiguo 15/02/2010, 07:21
 
Fecha de Ingreso: diciembre-2009
Ubicación: Santiago, Chile
Mensajes: 143
Antigüedad: 14 años, 4 meses
Puntos: 2
como guardar y actualizar en dos tablas con una centencia

buen dia a todos miren mi problema es el siguiente tengo dos tablas en las cuales tengo dos campos = que son material y cantidad y dos tablas tabla1 y tabla2 lo que quiero es que me guarde el campo material y cantidad en la tabla1 y si en la tabla2 esta el mismo material solamente me sume la cantidad al valor que ya se encuentra en la tabla no se si me esplique bien pero aca dejo el codigo que tengo para guardar en la tabla 1
Código PHP:
Ver original
  1. if($_POST["Guardar"]=="Guardar")
  2. {
  3. if ($_POST["material"]!="")
  4. {
  5. $sql="select * from tabla1 WHERE material='".$_POST["material"]."'";
  6. $resultado=pg_query($sql) or die (pg_last_error());
  7. $sql="INSERT INTO tabla1(material,cantidad,estado")
  8. VALUES ('".$_POST["material"]."','".$_POST["cantidad"]."','".$_POST["estado"]."');
  9. }
  10. }
  #2 (permalink)  
Antiguo 15/02/2010, 07:50
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: como guardar y actualizar en dos tablas con una centencia

¿Por qué haces esta consulta?

Código PHP:
Ver original
  1. $sql="select * from tabla1 WHERE material='".$_POST["material"]."'";
  2. $resultado=pg_query($sql) or die (pg_last_error());

No veo que le des uso alguno. Y con respecto a la 2da consulta :

Código PHP:
Ver original
  1. $sql="INSERT INTO tabla1(material,cantidad,estado")
  2. VALUES ('".$_POST["material"]."','".$_POST["cantidad"]."','".$_POST["estado"]."');

Eso está malo. Si es una sola línea, no debes cerrar la comilla doble antes de tiempo (estado"), y tampoco estás ejecutando la consulta. Puedes dejarlo así :

Código PHP:
Ver original
  1. $sql="INSERT INTO tabla1(material,cantidad,estado) VALUES ('".$_POST["material"]."','".$_POST["cantidad"]."','".$_POST["estado"]."')";
  2. pg_query($sql);

Ahora, con respecto a tu 2da tabla, simplemente haces un Update sumando el valor del campo cantidad siempre y cuando esté el valor material, ej :

Código PHP:
Ver original
  1. $sql2 = "UPDATE tabla2 SET cantidad = cantidad + 1 WHERE material = '".$_POST['material']."'";
  2. pg_query($sql2);
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 15/02/2010, 08:16
 
Fecha de Ingreso: diciembre-2009
Ubicación: Santiago, Chile
Mensajes: 143
Antigüedad: 14 años, 4 meses
Puntos: 2
Respuesta: como guardar y actualizar en dos tablas con una centencia

Cita:
Iniciado por spider_boy Ver Mensaje
¿Por qué haces esta consulta?
Gracias por responder mira esta consulta es para ver si el material ya se encuentra en la base de datos me envia un mensaje que el material ya esta almacenado

Código PHP:
Ver original
  1. $sql="select * from tabla1 WHERE material='".$_POST["material"]."'";
  2. $resultado=pg_query($sql) or die (pg_last_error());

No veo que le des uso alguno. Y con respecto a la 2da consulta :

Código PHP:
Ver original
  1. $sql="INSERT INTO tabla1(material,cantidad,estado")
  2. VALUES ('".$_POST["material"]."','".$_POST["cantidad"]."','".$_POST["estado"]."');

Eso está malo. Si es una sola línea, no debes cerrar la comilla doble antes de tiempo (estado"), y tampoco estás ejecutando la consulta. Puedes dejarlo así :
lo que pasa que el codigo es mas extenso y me parecio inesesari ponerlo completo
Código PHP:
Ver original
  1. $sql="INSERT INTO tabla1(material,cantidad,estado) VALUES ('".$_POST["material"]."','".$_POST["cantidad"]."','".$_POST["estado"]."')";
  2. pg_query($sql);

Ahora, con respecto a tu 2da tabla, simplemente haces un Update sumando el valor del campo cantidad siempre y cuando esté el valor material, ej :

Código PHP:
Ver original
  1. $sql2 = "UPDATE tabla2 SET cantidad = cantidad + 1 WHERE material = '".$_POST['material']."'";
  2. pg_query($sql2);
con respecto a esta consulta la inserte en mi codigo pero me aparece este error
Warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: character varying + integer LINE 1: UPDATE inventario SET cantidad = cantidad + 1 WHERE herramie... ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. in C:\wamp\www\bd\ingreso.php on line 41
si me pudieses dar una idea de en que estoy fallando te lo agradeceria mucho

Etiquetas: dos, tablas
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 13:53.