Hola amigos como estan?? bueno estoy trabajando con PHP Postgre 8.2 y Ajax (este mantenedor de actualizar lo estoy haciendo sin framework), bueno mi problema es q en la pagina donde me aparecen listados los usuarios para listarlos (los datos se presentan con unj link en el id del trabajador para q al hacer click en este aparesca el div q tiene el formulario para editar los datos), bueno mi problema es q el link no me funciona, es decir q al hacer click en el id no me aparece el div q contiene el formulario para editar los datos. aqui les dejo mi codigo para q me puedan ayudar please:
archivo ajax-js:
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 enviarDatosEmpleado(){
//donde se mostrará lo resultados
divResultado = document.getElementById('resultado');
divFormulario = document.getElementById('formulario');
//valores de los inputs
id=document.frmempleado.idempleado.value;
nom=document.frmempleado.nombres.value;
dep=document.frmempleado.departamento.value;
suel=document.frmempleado.sueldo.value;
//instanciamos el objetoAjax
ajax=objetoAjax();
//usando del medoto POST
//archivo que realizará la operacion
//actualizacion.php
ajax.open("POST", "actualizacion.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar los nuevos registros en esta capa
divResultado.innerHTML = ajax.responseText
//mostrar un mensaje de actualizacion correcta
divFormulario.innerHTML = "<p style="border:1px solid red; width:400px;">La actualización se realizó correctamente</p>";
}
}
//muy importante este encabezado ya que hacemos uso de un formulario
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviando los valores
ajax.send("idempleado="+id+"&nombres="+nom+"&depar tamento="+dep+"&sueldo="+suel)
}
function pedirDatos(idempleado){
//donde se mostrará el formulario con los datos
divFormulario = document.getElementById('formulario');
//instanciamos el objetoAjax
ajax=objetoAjax();
//uso del medotod GET
ajax.open("POST", "consulta_por_id.php?idemp="+idempleado);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divFormulario.innerHTML = ajax.responseText
//mostrar el formulario
divFormulario.style.display="block";
}
}
//como hacemos uso del metodo GET
//colocamos null
ajax.send(null)
}
este es el archivo php donde tengo la consulta por id y tambien tengo el formulario q deberia salir con los datos para editar al predionar en el id
Código PHP:
<?php
//Configuracion de la conexion a base de datos
include("funciones.php");
$conn = conexion();
//consulta los datos del empleado por su id
$idemp=$_POST['idemp'];
$SELECT_EMPLEADO ="SELECT * FROM empleado WHERE id_empleado=$idemp";
$RES_EMPLEADO = pg_query($conn, $SELECT_EMPLEADO) or die("Error en el query: $SELECT_EMPLEADO. " . pg_last_error($conn));
;
//echo $SELECT_EMPLEADO;
$row = pg_fetch_array($RES_EMPLEADO);
/*$SELECT_EMPLEADO="SELECT * FROM empleado WHERE id_empleado=".$_POST[$idemp]."";
$RES_EMPLEADO = pg_query($conn, $SELECT_EMPLEADO);
$row = pg_fetch_array($RES_EMPLEADO);*/
//valores de las consultas
$nom=$row['nombres'];
$dep=$row['departamento'];
$suel=$row['sueldo'];
//muestra los datos consultados en los campos del formulario
?>
<form name="frmempleado" action=""
onsubmit="enviarDatosEmpleado(); return false">
<input name="idempleado" type="hidden" value="<?php echo $idemp; ?>" />
<p>Nombres
<input name="nombres" type="text" value="<?php echo $nom; ?>" />
</p>
<p>Departamento
<select name="departamento">
<?php
echo "<option value='".$dep."'>".$dep."</option>"
?>
<option value="Informatica">Informatica</option>
<option value="Contabilidad">Contabilidad</option>
<option value="Administracion">Administracion</option>
<option value="Logistica">Logistica</option>
</select>
</p>
<p>Sueldo <strong>S/.</strong>
<input name="sueldo" type="text" value="<?php echo $suel; ?>" />
</p>
<p>
<input type="submit" name="Submit" value="Actualizar" />
</p>
</form>
este es el archivo donde listo a los empleados yu el cuan llama a la funcion ajax para cargar los datos:
Código PHP:
<?php
//Configuracion de la conexion a base de datos
include("funciones.php");
$conn = conexion();
//consulta todos los empleados
$CONSULTAR_EMPLEADO="SELECT * FROM empleado";
$RES_EMPLEADO = pg_query($conn, $CONSULTAR_EMPLEADO);
//muestra los datos consultados
//haremos uso de tabla para tabular los resultados
?>
<table>
<tr>
<td>Codigo</td>
<td>Nombres</td>
<td>Departamento</td>
<td>Sueldo</td>
</tr>
<?php
while($row = pg_fetch_array($RES_EMPLEADO)){
echo " <tr>";
//mediante el evento onclick llamaremos a la funcion PedirDatos(), la cual tiene como parametro
//de entrada el ID del empleado
// echo " <td><a style="text-decoration:underline;cursor:pointer;" onclick="pedirDatos('".$row['idempleado']."')">".$row['idempleado']."</a></td>";
//aca esta sin errores
//echo " <td><a style='text-decoration:underline;cursor:pointer;' onclick='pedirDatos('".$row[0]."')'>".$row[0]."</a></td>";
echo " <td><a style=\"text-decoration:underline;cursor:pointer;\" onclick=\"pedirDatos('".$row['id_empleado']."')\">".$row['id_empleado']."</a></td>";
echo " <td>".$row[1]."</td>";
echo " <td>".$row[2]."</td>";
echo " <td>".$row[3]."</td>";
echo " </tr>";
}
?>
</table>
esta es la pagina donde hago la consulta UPDATE:
Código PHP:
<?php
//Configuracion de la conexion a base de datos
include("funciones.php");
$conn = conexion();
//variables POST
$idemp=$_POST['idempleado'];
$nom=$_POST['nombres'];
$dep=$_POST['departamento'];
$suel=$_POST['sueldo'];
//actualiza los datos del empleados
$UPDATE_EMPLEADO="UPDATE empleado SET nombres='$nom', departamento='$dep', sueldo='$suel' WHERE idempleado=$idemp";
$ACTUALIZAR_EMPLEADO= pg_exec ($conn, $UPDATE_EMPLEADO);
if($ACTUALIZAR_EMPLEADO){echo"INGRESADO";}
else
{
echo $UPDATE_EMPLEADO ;
}
include('consulta.php');
?>
y esta es la pagina donde llamo al archivo ajax.js:
Código PHP:
<html>
<head>
<title>Registro con AJAX</title>
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>
</head>
<body>
<h2>Modificar datos del empleado</h2>
<p>Clic en el código del empleado para modificar sus datos. </p>
<div id="formulario">
</div>
<div id="resultado"><?php include('consulta.php');?></div>
</body>
</html>
Porfavor amigos guienme en q estoy fallando pq no me carga el formulario para editar los datos al hacer click en el ID de un empleado???
de antemano gracias.... bye