adorni
Posts: 120
|
Posted: 01/30/2012, 5:24 AM |
|
Tengo una pagina donde agrego un nuevo registro con por ejemplo estos datos
CAMPO CONTRATO: 1922222
CAMPO FECHA: 25/01/2012
Cuando pongo AGREGAR, que se me agrega una fila a una tabla con esos dos datos, necesito que en otra tabla que tiene los campos CONTRATO y NUMERO (el campo NUMERO es NULL), donde el CONTRATO sea igual al CONTRATO que se esta INSERTANDO en la otra tabla, me modifico el campo NUMERO con por ejemplo "1"
Se entiendo?
Muchas gracias.
|
 |
 |
cleyan
Posts: 136
|
Posted: 02/02/2012, 8:19 PM |
|
no entendio mucho pero si lo que quieres es ingresar en otra tabla al grabar en la pimera, debes agregar un evento en after insert y after update de tu formulario ejecutando el codigo de actualizacion en la otra tabla
salu2
Carlos
_________________
**************************************************
Carlos Leyan B.
Temuco, Chile
www.leytec.net |
 |
 |
adorni
Posts: 120
|
Posted: 02/06/2012, 5:59 AM |
|
Claro yo necesito hacer un AFTER INSERT para hacer un UPDATE de otro registro en otra tabla, pero ese registro lo busco con uno de los campos que estoy dando de alta. Por ejemplo el campo NUMERODESOCIO cuando doy de alta ese NUMERODESOCIO tengo que modificar otra tabla que tiene como campo NUMERODESOCIO y tengo que hacer un UPDATE de ESE CAMPO. Me explico?
Gracias!
|
 |
 |
cleyan
Posts: 136
|
Posted: 02/21/2012, 3:50 PM |
|
Ok, si usas php y mysql seria algo como
en el after_insert
//obtiene el id recien creado
$nuevoid=mysql_insert_id();
$db= clsDBDatos(); //Datos es el nombre de tu coneccion
//condicion para update
$sql="UPDATE tabla2 SET campo=$nuevoid WHERE otrocampo=condicion";
$db->query($sql);
Espero te ayude
Saludos
Carlos
_________________
**************************************************
Carlos Leyan B.
Temuco, Chile
www.leytec.net |
 |
 |
adorni
Posts: 120
|
Posted: 02/23/2012, 4:44 AM |
|
Consulta de ignorante con respecto a lo que me pasaste:
En primer lugar, esto lo pongo en AFTER INSERT no???
Consultas sobre el codifo
//obtiene el id recien creado
$nuevoid=mysql_insert_id(); (esto toma el ultimo ID? Yo necesito que tome el ultimo campo pero no es el ID, es otro, por ejemplo NUMERO_DE_CONTRATO que estoy insertando... como lo tomo???
$db= clsDBDatos(); //Datos es el nombre de tu coneccion (esto quedaria $db= clsDBMANUEL por ejemplo?
//condicion para update
$sql="UPDATE tabla2 SET campo=$nuevoid WHERE otrocampo=condicion";
El campo=$nuevoid es el campo que esta buscando y coincida no, osea donde pongo los campos que tiene que hacer un UPDATE y sus valores???
$db->query($sql);
Mil gracias!!!!
|
 |
 |
cleyan
Posts: 136
|
Posted: 03/01/2012, 6:59 PM |
|
Hola
Si usalo en AFTER INSERT o AFTER UPDATE o ambos
si no necistas el ID entonces puedes obtener el valor del campo, por ejemplo
$nro_contrato = $formulario->nro_contrato->GetValue();
Si MANUEL es el nombre de tu conección si
La ultima pregunta no la entiendo, pero ahi ya tienes los valores, solo debes componer yu sentencia SQL
Saludos
Carlos
_________________
**************************************************
Carlos Leyan B.
Temuco, Chile
www.leytec.net |
 |
 |
adorni
Posts: 120
|
Posted: 03/02/2012, 8:42 AM |
|
Cuando me pones:
$nro_contrato = $formulario->nro_contrato->GetValue();
se supone que $formulario es el nombre del formulario donde estoy creando el RECORD, y "nro_contrato" es el nombre del campo donde estoy guardando el dato no?
Gracias
|
 |
 |
cleyan
Posts: 136
|
Posted: 03/06/2012, 1:01 PM |
|
exactamente
_________________
**************************************************
Carlos Leyan B.
Temuco, Chile
www.leytec.net |
 |
 |
sardinasanibal
Posts: 22
|
Posted: 03/13/2012, 7:05 AM |
|
si te sirve y no es tarde, creo que es mucho mas facil hacer un trigger en la base de datos de esa tabla.
|
 |
 |
adorni
Posts: 120
|
Posted: 03/13/2012, 7:07 AM |
|
Perdon... pero que es un Trigger? :)
|
 |
 |