Al grano XD, tengo una pagina que muestra el modulo de administración, en el cual hay un botón donde mediante ajax, llamo a una pagina que consulta una base de datos, la cual al ser leída da paso a la creación de una tabla con diversos campos (solicitante - plan actual - plan a adquirir - estado(aprobado/rechazado las cuales están en una lista desplegable)), luego de crear la tabla, creo un botón el cual al ser presionado, dependiendo de la opción de estado que el administrador seleccione consulta el cliente en la base de datos para actualizar su plan de tv.
Al ejecutar la pagina directamente sin ajax, la actualización de la base de datos se realiza exitosamente, y todo va de lujo.
http://imageshack.us/photo/my-images/843/87155398.jpg
Pero cuando uso ajax para llamarla en la pagina principal, me muestra la tabla y el botón, lo que está muy bien, pero cuando doy clic al botón, no me actualiza la base de datos.
http://www.subirimagenes.net/show-image.php?id=270bea196d934d9b4a7fde77ed263973
Pero al hacer click en el botón todo desaparece y nada se actualiza en la base de datos.
http://www.subirimagenes.net/show-image.php?id=86374f245c4c20d2e21a3256676ca67d
Me preguntaba si alguien podría ayudarme un poco.
Este es el código de la pagina principal donde hago uso de ajax
Código HTML:
<script> var ajax; function funcionCallback() { // Comprobamos si la peticion se ha completado (estado 4) if( ajax.readyState == 4 ) { // Comprobamos si la respuesta ha sido correcta (resultado HTTP 200) if( ajax.status == 200 ) { // Escribimos el resultado en la pagina HTML mediante DHTML document.all.salida.innerHTML = ajax.responseText+"</b>"; } } } function recuperaResidencia() { // Creamos el control XMLHttpRequest segun el navegador en el que estemos if( window.XMLHttpRequest ) ajax = new XMLHttpRequest(); // No Internet Explorer else ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer // Almacenamos en el control al funcion que se invocara cuando la peticion // cambie de estado ajax.onreadystatechange = funcionCallback; // Enviamos la peticion ajax.open( "GET", "pagina2.php", true ); ajax.send( "" ); } </script> <br/> <span id="salida"></span>
Código PHP:
<?php
for($j=0;$j<500;$j++){
$datos[j]="";
}
include("conectar.php");
$clase = new Mysql();
if(!$clase->Conectar())
echo "No se logró conectar con la Base de Datos";
$sql = "select * from solicitud where sol_anterior like '%".$_GET["consulta"]."%'";
$res = $clase->Query($sql);
$band=0;
$cont=0;
while($fila = mysql_fetch_array($res))
{
if($band==0){
?>
Resultados:<br />
<form id="form1" name="form1" method="post" action="">
<label>
<table width="90%" border="1" align="center">
<tr>
<td bgcolor="#99CCFF"><div align="center" class="style3">Solicitante</div></td>
<td bgcolor="#99CCFF"><div align="center" class="style3">Plan Actual</div></td>
<td bgcolor="#99CCFF"><div align="center" class="style3">Plan Solicitado</div></td>
<td bgcolor="#99CCFF"><div align="center" class="style3">Estado</div></td>
</tr>
<?php
$band=1;
}
if($fila[3]==0 || $fila[3]==1){
$datos[$cont]=$fila[0];
$sql2 = "select * from informacion where login like '%".$fila[0]."%'";
$res2 = $clase->Query($sql2);
$fila2 = mysql_fetch_array($res2);
?>
<tr>
<td><div align="center"><?php echo $fila2[1]." ".$fila2[2]; ?></div></td>
<td><div align="center"><?php
if(!empty($fila[1])) echo $fila[1]; //-----------> plan anterior
else echo "No Disponible";
?></div></td>
<td><div align="center"><?php
if(!empty($fila[2])) echo $fila[2]; //-----------> plan solicitado
else echo "No Disponible";
?></div></td>
<td><div align="center">
<select name="select<?php echo $cont; ?>" id="select" >
<?php echo '<option>En Proceso</option>'; ?>
<?php echo '<option>Aprobada</option>'; ?>
<?php echo '<option>Rechazada</option>'; ?>
</select>
</div></td>
</tr>
<?php
$cont++;
}
}
?>
</table>
<div align="center">
<input type="submit" name="aprobar" id="aprobar" value="Guardar" />
</div>
</label>
</form>
<br />
<div align="center"></div>
<p> </p>
<?php
if(isset($_POST["aprobar"])){
for($i=0;$i<$cont;$i++){
if($_POST["select".$i]=="Aprobada"){
$sql3="select * from solicitud where login='".$datos[$i]."'";
$res3=$clase->Query($sql3);
if($fila=mysql_fetch_array($res3)){
//actualizar o modificar
$sql4="update solicitud set login='".$datos[$i]."',sol_anterior='".$fila[2]."', sol_nueva='', estado='1' where login='".$datos[$i]."'";
if($res4=$clase->Query($sql4)){
echo "Registro Actualizado...";
?>
<script type="text/javascript">
document.location = 'pagina2.php';
</script>
<?php
}
else
echo "Ha ocurrido un error de Actualizacion...";
}
}//aprobada
if($_POST["select".$i]=="En Proceso"){
//aqui hace algo
}//en proceso
if($_POST["select".$i]=="Rechazada"){
//aqui hace algo
}//rechazada
}
}
?>