Foros del Web » Programando para Internet » PHP »

Como ingresar los datos de un formulario a la Base de Datos MySql

Estas en el tema de Como ingresar los datos de un formulario a la Base de Datos MySql en el foro de PHP en Foros del Web. Hola, necesito saber como ingresar los datos de un formulario a la base de datos, mediante un boton"ingresar otro consumible": El formulario "ing_consumible",que es para ...
  #1 (permalink)  
Antiguo 29/12/2003, 09:31
 
Fecha de Ingreso: diciembre-2003
Mensajes: 212
Antigüedad: 20 años, 4 meses
Puntos: 0
Como ingresar los datos de un formulario a la Base de Datos MySql

Hola, necesito saber como ingresar los datos de un formulario a la base de datos, mediante un boton"ingresar otro consumible":

El formulario "ing_consumible",que es para ingresar los consumibles de las impresoras,
¿ como puedo programar el boton"ingresar otro consumible"
para que envie los datos a la base de datos y al mismo tiempo resete los menus desplegalables y el campo de texto dde
se ingresa la cantidad de consumible, para que pueda ingresar otro consumible??
Sé que se tiene que hacer un insert para q guarde los datos en la base de datos, pero como le indico q es con el boton precisamente??


En este mismo formulario "ing_consumible", ¿como hago para guardar en la base de datos, el valor q introduzco por la variable:cant1 y cant2?,
si en la consulta no incluyo los campos claves(en este caso son NRO_REQ y COD_CONS, porque la tabla detalle_consumible viene de una
relacion n a n, y los dos son campo clave)

Creo que el problema es que en el insert no estoy considerando el campo clave, pero si lo coloco como aparece en el siguiente codigo '' con
comillas solas, no funciona ya que la primera vez guarda en el campo clave un 0, y me guarda el campo"consumibles, pero si se vuelve hacer otro
insert, da error porque ya encuentra el campo clave con valor=0.

Estaba pensando como otra alternativa, para no enrollarme con estos campos claves al guardar ese valor CANT_CONS_SOLIC (cantidad de consumible solicitado):
utilizar la cantidad del valor de la variable $cant1 y $cant2, y sumarsela al campo "cant_total_cons",
que pertenece a la tabla "CONSUMIBLES", segun el tipo de consumible que el usuario haya seleccionado en los menus desplegables.
Es decir, este formulario deberia permitir actualizar el inventario de los consumibles de impresoras, por ejemplo si existen 2 consumibles "toner"
de la impresora de modelo "Deskjet 960", marca"HP" y color del toner"negro", y el usuario introduce en el campo $cant1="3", entonces se debe actualizar
el campo correspondiente a este consumible y debe quedar guardado q ahora existen 5 toner de ese tipo, el cual tiene un COD_CONS, y se relaciona con la
impresora por un NRO_IMP, ambos campos estan en la tabla "consumibles".
¿Se puede hacer un select de la CANT_TOTAL_CONS q existe de ese consumible y sumarle el que introdujo el usuario??



El codigo para ingresar los datos del formulario es el siguiente:
<?php

if (isset($acc))
{
$cn = conectarse();

//Para guardarlo desde los menus desplegables
$sql = "INSERT INTO detalle_consumibles (NRO_REQ,COD_CONS,CANT_CONS_SOL) values";
$sql.= "('','','$cant1')";
$result = mysql_query($sql, $cn);

$sql2 = "INSERT INTO consumibles (CONSUMIBLE) values";
$sql2.= "('$consum')";
$result2 = mysql_query($sql2, $cn)or die (mysql_error());;

$sql3 = "INSERT INTO impresoras (MODELO_IMP, MARCA_IMP, COLOR_IMP) values";
$sql3.= "('$mod1','$marc1','$colo1')";
$result3 = mysql_query($sql3, $cn);

//Para ingresar de los campos de texto
$sql4 = "INSERT INTO consumibles (CONSUMIBLE) values";
$sql4.= "('$consumi1')";
$result4 = mysql_query($sql4, $cn) or die (mysql_error());

$sql7 = "INSERT INTO detalle_consumibles (NRO_REQ,COD_CONS,CANT_CONS_SOL) values";
$sql7.= "('','','$cant12')";
$result7 = mysql_query($sql7, $cn) or die (mysql_error());

$sql5 = "INSERT INTO equipos_aud (BIEN_NAC) values";
$sql5.= "('$r_b_naci')";
$result5 = mysql_query($sql5, $cn)or die (mysql_error());

$sql6 = "INSERT INTO detalle_equipo (COD_EQ,EQUIPO) values('','$equipo_aud')";
$result6 = mysql_query($sql6, $cn) or die (mysql_error());
}
else {
}
?>

Espero me puedan ayudar.
Gracias por adelantado
  #2 (permalink)  
Antiguo 29/12/2003, 09:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En principio te hace falta usar campos Autonuméricos como indices en tus tablas para evitar el problema de indices duplicados como así parece que te sucede ...

Un INSERT . inserta un registro nuevo creandolo .. pero para actualizar la información de un registro concreto debes hacer un UPDATE bajo un condicional (WHERE campo=condición ...) ..y veo que hablas de "actualizar" y en tu código sólo usas INSERT para todo?.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 29/12/2003, 09:57
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 7
Cita:
El formulario "ing_consumible",que es para ingresar los consumibles de las impresoras,
¿ como puedo programar el boton"ingresar otro consumible"
para que envie los datos a la base de datos y al mismo tiempo resete los menus desplegalables y el campo de texto dde
se ingresa la cantidad de consumible, para que pueda ingresar otro consumible??
Sé que se tiene que hacer un insert para q guarde los datos en la base de datos, pero como le indico q es con el boton precisamente??
Tienes que hacer el proceso pasando por varias paginas, o varias etapas. Es simple, por ejemplo tienes un php para cada cosa

// muestra el formulario vacio
formulario.php

// recibe los datos de la pag anterior, los inserta en la bd
// y por ultimo redirecciona a formulario.php para presentar
// el form de nuevo para ingresar nuevos consumibles
proc_form.php

al presionar sobre un boton estas haciendo una accion sobre el formulario, en los tag que definen los formularios existe el atributo action="", bueno si colocas action="proc_form.php" cuando presiones el boton de submit enviara la informacion que ingresaste a la pagina que especificaste en este atributo. te recomiendo hecharle una repasada al manual de html

Cita:
En este mismo formulario "ing_consumible", ¿como hago para guardar en la base de datos, el valor q introduzco por la variable:cant1 y cant2?,
si en la consulta no incluyo los campos claves(en este caso son NRO_REQ y COD_CONS, porque la tabla detalle_consumible viene de una
relacion n a n, y los dos son campo clave)
si los consumibles equivalen a nuevos registros dentro de la tabla en donde estas guardando, puedes definir el campo clave como autonumerico, esto quiere decir que insertas el registro sin necesidad de crear el valor de la clave, pues se genera solo al insertarlo en la tabla.

Cita:
Creo que el problema es que en el insert no estoy considerando el campo clave, pero si lo coloco como aparece en el siguiente codigo '' con
comillas solas, no funciona ya que la primera vez guarda en el campo clave un 0, y me guarda el campo"consumibles, pero si se vuelve hacer otro
insert, da error porque ya encuentra el campo clave con valor=0
(me parece que es por lo mismo)

Cita:
Es decir, este formulario deberia permitir actualizar el inventario de los consumibles de impresoras...
?? para esto deberias usar update's en vez de insert's. para hacer esto puedes desplegar el formulario con los productos que deseas actualizar, y para que no se te pierdan las claves de los productos que estas modificando puedes usar campos ocultos <input type="hidden" .... /> o los puedes tambien dejar en el campo value de los comboboxes <select name="lala"><option value="ehAquiUnaClave">impresora dotmatrix marca chancho</option></select>.

bueno espero que te ayude un poco.

saludos
__________________
=PoWeReD By MySeLf!=
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 21:44.