segui tu logica compa
Tengo 3 tablas, en la base de datos:
Tabla presupuesto: donde esta el id(autoincrementado), el rut, nombre, etc de la persona.
tabla Procedimiento: donde tengo todos los procedimentos.
tabla presu_proce: que tiene los procedimientos asociados a un presupuesto.
Bueno creo el presupuesto primero, para luego agregarle los procedimientos como me mencionaste, el punto conflictivo de esto, es q no se como recuperar el id del formulario que cree para luego ir agregando los procedimientos a la tabla presu_proce segun el id seleccionado del presupuesto que cree.
te pongo los codigos
Pagina Crear_Presupuesto
Código:
html>
<head>
<title>Registro con AJAX</title>
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>
</head>
<body>
<form name="nuevo_presupuesto" action="">
<h2>Nuevo Presupuesto</h2>
<p>Cedula de Identidad
<label>
<input name="rut" type="text" />
</label>
</p>
<p>Primer Nombre
<label>
<input name="nombre_1" type="text" />
</label>
</p>
<p>Segundo Nombre
<label>
<input name="nombre_2" type="text" />
</label>
</p>
<p>Apellido Paterno
<label>
<input name="apepater" type="text" />
</label>
</p>
<p>Apellido Materno
<label>
<input name="apemater" type="text" />
</label>
</p>
<p>Fecha
<label>
<input name="fecha" type="text" />
</label>
</p>
<p>Direccion
<label>
<input name="direccion" type="text" />
</label>
</p>
<p>Telefono Fijo
<label>
<input name="telefono" type="text" />
</label>
</p>
<a href="javascript:enviarDatosPresupuesto()"><img src="imagenes/btn_enviar.jpg" alt="Siguiente formulario" width="100" height="30" border="0"/>
<div id="totalproce">
<?php
include_once("cProcedimiento.php");
//consulta todos los procedimientos
$objprocedimiento = new cProcedimiento;
$consulta=$objprocedimiento->consultar();
?>
<table id="proce" style="border:1px solid #FF0000; color:#000099;width:400px;">
<thead>
<th>Seleccionar</th>
<th>Procedimiento</th>
</tr>
</thead>
<tbody>
<?php
while($row=mysql_fetch_array($consulta)){?>
<tr id="row<?php echo $row['PROCE_ID'] ?>">
<td><?php echo $row['PROCE_ID'] ?></td>
<td><?php echo $row['PROCE_NOMBRE'] ?></td>
<td><a href="javascript:pedirDatosProcedimiento(<?php echo $row['PROCE_ID'] ?>)"><img src="imagenes/btn_enviar.jpg" alt="Siguiente formulario" width="100" height="30" border="0"/></a></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<br/>
<div id="procedimientos">
</div>
<p>Total
<label>
<input name="total" type="text" readonly="readonly" />
</label>
</p>
</form>
</body>
</html>
ajax.js
Código:
function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function enviarDatosPresupuesto(){
//donde se mostrará lo resultados
divResultado = document.getElementById('resultado');
//divResultado.innerHTML= '<img src="anim.gif">';
//valores de las cajas de texto
rut=document.nuevo_presupuesto.rut.value;
nom_1=document.nuevo_presupuesto.nombre_1.value;
nom_2=document.nuevo_presupuesto.nombre_2.value;
apater=document.nuevo_presupuesto.apepater.value;
amater=document.nuevo_presupuesto.apemater.value;
date=document.nuevo_presupuesto.fecha.value;
dire=document.nuevo_presupuesto.direccion.value;
tfijo=document.nuevo_presupuesto.telefono.value;
//instanciamos el objetoAjax
ajax=objetoAjax();
//uso del medoto POST
//archivo que realizará la operacion
//registro.php
ajax.open("POST", "registroPresupuesto.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divResultado.innerHTML = ajax.responseText
//llamar a funcion para limpiar los inputs
LimpiarCampos();
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviando los valores
ajax.send("rut="+rut+"&nombre_1="+nom_1+"&nombre_2="+nom_2+"&apepater="+apater+"&apemater="+amater+"&fecha="+date+"&direccion="+dire+"&telefono="+tfijo)
}
function pedirDatosProcedimiento(idprocedimiento){
//donde se mostrará el formulario con los datos
divFormulario = document.getElementById('procedimientos');
//instanciamos el objetoAjax
ajax=objetoAjax();
//uso del medotod POST
ajax.open("POST", "consulta_procedimiento_id.php");
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divFormulario.innerHTML = ajax.responseText
divFormulario.style.display="block";
}
}
//como hacemos uso del metodo POST
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviando el codigo del empleado
ajax.send("idemp="+idprocedimiento)
}
Pagina Registro Presupuesto
Código:
<?php
include_once("cPresupuesto.php");
//variables POST
$rut=$_POST['rut'];
$nom_1=$_POST['nombre_1'];
$nom_2=$_POST['nombre_2'];
$apater=$_POST['apepater'];
$amater=$_POST['apemater'];
$date=$_POST['fecha'];
$dire=$_POST['direccion'];
$tfijo=$_POST['telefono'];
sleep(2);
//creamos el objeto $objempleados
//y usamos su método crear
$objpresupuesto=new cPresupuesto;
if ($objpresupuesto->crear($rut,$nom_1,$nom_2,$apater,$amater,$date,$dire,$tfijo)==true){
echo "Registro grabado correctamente";
}else{
echo "Error de grabacion";
}
?>
Ahi lo almaceno en la base de datos con el modelo
Código:
<?php
include_once("DBManager.php");
//implementamos la clase empleado
class cPresupuesto{
//constructor
function cPresupuesto(){
}
//inserta un nuevo empleado en la base de datos
function crear($rut,$nom_1,$nom_2,$apater,$amater,$date,$dire,$tfijo){
$con = new DBManager;
if($con->conectar()==true){
$query = "INSERT INTO presupuesto (presu_rut,presu_nombre_1,presu_nombre_2,presu_apepater,presu_apemater,presu_fecha,presu_direccion,presu_telefono)
VALUES ('$rut','$nom_1','$nom_2','$apater','$amater','$date','$dire','$tfijo')";
$result = @mysql_query($query);
if (!$result)
return false;
else
return true;
}
}
}
?>
el hacer click en uno de los procedimientos para agregarlos, se me despliega un formulario con los datos del procedimieto y un input de descripcion para agregarle lo q ello respecte, para luego agregarlo a la tabla presu_proce, pero el lio esta en q ya, creo el presupuesto pero no tengo como obtener el ID de ese presupuesto para luego agregarle los procedimientos.
q me recomiendas?