El problema: Al actualizar un dato, y recarga los datos, me devuelve al inicio de la paginación, y lo que es más extraño me cambia todos los enlaces de paginación. Para comprender un poco mejor mi caso, os expongo el código a continuación.
prueba.php
Código PHP:
<? include('../identificacion/fun1.php');
identificacion();
es_admin();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Posteo de quejas</title>
<link href="../css/pagination.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="formulario" style="display:none;">
</div>
<div id="resultado"><?php include('tramite.php');?></div>
<p><a href="../menu.php">Volver Al menu</a></p>
</body>
</html>
Código PHP:
<?
require('../comp/conexion.php');
$user=$_SESSION["usuario"];
echo "<p>HUECAS</p>";
$_pagi_sql="SELECT * from huecas";
$_pagi_cuantos = 10;
$_pagi_nav_num_enlaces=5;
$_pagi_nav_anterior="◄";
$_pagi_nav_siguiente="►";
$_pagi_nav_primera="1";
$_pagi_separador="";
include("../otros/paginator.inc.php");
$_pagi_nav_ultima=$_pagi_totalPags;
if (mysql_num_rows($_pagi_result)){
echo "<table border = '1' align='center' > ";
echo "<tr bgcolor='#FFFFFF'> \n";
echo '<th colspan="2" scope="col">ACCION</th> ';
echo '<th scope="col">PALABRA</th> ';
echo "</tr> \n";
while ($registro = mysql_fetch_array($_pagi_result)) { // comienza un bucle que leera todos los registros y ejecutara las ordenes que siguen
$cate= $registro['categoria'] ;
$id=$registro['id'] ;
echo "<tr> \n";
echo '<th scope="row"><img src="../img/borrar.png" /></th> ';
echo "<td align='center' ><a style=\"text-decoration:underline;cursor:pointer;\" onclick=\"pedirDatos('".$registro['palabras']."')\"><img src='../img/editar.png' /></a></td> ";
echo "<td align='center' >" . $registro['palabras'] . "</td> \n";
echo "</tr> \n";
} // fin del bucle de ordenes
echo "</table> \n";
echo"<div class='pagination'><p align='center'>".$_pagi_navegacion."</p></div>";
mysql_free_result($_pagi_result); // libera los registros de la tabla
}
else{
echo "¡ No se ha encontrado ningún registro !";
}
require('../comp/terminar.php');
?>
Código:
consulta_por_id.phpfunction 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 antigua=document.frmempleado.antigua.value; nueva=document.frmempleado.nueva.value; //instanciamos el objetoAjax ajax=objetoAjax(); //usando del medoto POST //archivo que realizará la operacion //actualizacion.php ajax.open("POST", "../otros/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>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("nueva="+nueva+"&antigua="+antigua) } function pedirDatos(palabra){ //donde se mostrará el formulario con los datos divFormulario = document.getElementById('formulario'); //instanciamos el objetoAjax ajax=objetoAjax(); //uso del medotod GET ajax.open("POST", "../otros/consulta_por_id.php"); 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.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //enviando los valores ajax.send("palabra="+palabra) } function nuevaPalabra(){ //donde se mostrará lo resultados divResultado = document.getElementById('resultado'); divFormulario = document.getElementById('formulario'); //valores de los inputs nueva_p=document.nueva_palabra.nueva.value; //instanciamos el objetoAjax ajax=objetoAjax(); //usando del medoto POST //archivo que realizará la operacion //actualizacion.php ajax.open("POST", "../otros/nueva_hueca.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>Insertada 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("nueva_p="+nueva_p) }
Código PHP:
<?php
$antigua=$_POST['palabra'];
//muestra los datos consultados en los campos del formulario
?>
<form name="frmempleado" action=""
onsubmit="enviarDatosEmpleado(); return false">
<input name="antigua" type="hidden" value="<?php echo $antigua; ?>" />
<p>Palabra a modificar
<input name="nueva" type="text" value="<?php echo trim($antigua); ?>" />
</p>
<p>
<input type="submit" name="Submit" value="Actualizar" />
</p>
</form>
Código PHP:
<?php
//Configuracion de la conexion a base de datos
require('../comp/conexion.php');
//variables POST
$nueva=$_POST['nueva'];
$nueva= filtro1($nueva);
$antigua=$_POST['antigua'];
$nueva = " ".$nueva." ";
//actualiza los datos del empleados
$sql="UPDATE huecas SET palabras='$nueva' WHERE palabras='$antigua'";
mysql_query($sql,$con);
require('../comp/terminar.php');
include('../otros/tramite.php');
?>
Por favor ayuda!!!!