Ver Mensaje Individual
  #18 (permalink)  
Antiguo 21/11/2008, 13:07
Tsu_CL
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Obtener filas de una tabla

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?