Foros del Web » Programando para Internet » Jquery »

no refresca la pagina pero hace la actualizacion

Estas en el tema de no refresca la pagina pero hace la actualizacion en el foro de Jquery en Foros del Web. que tal a todos estoy usando ajax para hacer una actualizacion en mi base de datos tengo mi tabla en php en la cual imprimo ...
  #1 (permalink)  
Antiguo 13/07/2013, 16:26
 
Fecha de Ingreso: julio-2011
Ubicación: donde me encuentre la noche
Mensajes: 140
Antigüedad: 13 años, 3 meses
Puntos: 3
Pregunta no refresca la pagina pero hace la actualizacion

que tal a todos estoy usando ajax para hacer una actualizacion en mi base de datos

tengo mi tabla en php en la cual imprimo una consulta y agregue una columna adicional para pasarle el parametro id para que al darle clic a "Actualizar" me modifique el estatus de la fila, sobre la que estoy haciendo clic...

esto si lo hace bien mi problema es que no lo hace en el momento o mejor dicho no es visible....
es decir doy clic y no se ve que se haya actualizado el campo que quiero... pero si refresco la pagina manualmente se puede ver ya el campo actualizado

entonces quiero que al dar clic se vea esa actualizacion y no tenga que refrescar la pagina....


este es mi ajax
Código:
function showUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  } 
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","php/demo.php?q="+str,true);
xmlhttp.send();
return true;
}
supongo que algo me falta dentro del mismo por lo cual no me actualiza mi info en tiempo de ejecucion les agradezco la ayuda!
  #2 (permalink)  
Antiguo 14/07/2013, 01:02
Avatar de vesper_metal90  
Fecha de Ingreso: enero-2013
Mensajes: 103
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: no refresca la pagina pero hace la actualizacion

te voy a poner un ejemplo para que veas como se hace yo lo uso es para actualizar un status en una tabla vale...


Código Javascript:
Ver original
  1. $(".Cancelar").click(function(event){
  2.       event.preventDefault();
  3.       var Estatus = $(this).attr('name');
  4.       var idCorresEliminar = $(this).attr('id');
  5.       if(Estatus == 0 || Estatus == 1){
  6.         if(confirm("Desea Cancelar ?")){
  7.           var dataString ="id="+idEliminar+"&Actividad="+5;
  8.           $.ajax({
  9.             type : "post",
  10.             url : "c_bit.php",
  11.             data : dataString,
  12.             success:function(){},
  13.             error:function(){
  14.               alert("Error...");
  15.             }
  16.           });
  17.                          
  18.           $("#central").load("frm_listado.php",{ idEliminar : idCorresEliminar });<---Aqui esta la   clave
  19.         }
  20.         return false;
  21.       }else{
  22.         alert("No se puede cancelar");
  23.         return false;
  24.       }
  25.     });

el PHP aqui recibimos la variable que enviamos con el load

Código PHP:
Ver original
  1. if (isset($_POST['idEliminar'])) {
  2.   $conex = new Conexion($servidor, $usuario, $contrasenia);
  3.   $conex->selectDB('correspondencia');
  4.   $query = 'UPDATE correspondencia SET estatus = 3 WHERE id_correspondencia = "' . $_POST['idEliminar'] . '" ';
  5.   $conex->ejecutaQuery($query);
  6. }

y el div que contiene la tabla

Código HTML:
Ver original
  1. <div id="central">

Todo esto esta en un mismo archivo llamado lista.php

aqui te dejo unos links para que leas..

http://www.desarrolloweb.com/articul...ax-jquery.html
http://api.jquery.com/load/
http://www.w3schools.com/jquery/ajax_load.asp
http://www.anerbarrena.com/jquery-load-html-div-460/
  #3 (permalink)  
Antiguo 14/07/2013, 12:06
 
Fecha de Ingreso: julio-2011
Ubicación: donde me encuentre la noche
Mensajes: 140
Antigüedad: 13 años, 3 meses
Puntos: 3
Pregunta Respuesta: no refresca la pagina pero hace la actualizacion

gracias por tu respuesta... ya lo he intentado así pero
no me resulta es decir hace la modificacion pero la puedo ver hasta que refresco la pagina manualmente y mi idea es que sea automatico

Código HTML:
 <div id="add">
        			          <?php
date_default_timezone_set("America/Mexico_City");		
$terminoX= date("Y-m-d H:i:s");
$date= date("Y-m-d");
$Hora= date('H:i:s');
$Id=$_GET['Id'];


if(!isset($date)){
    echo  "";
}else{
$fin=mysql_query("SELECT * from demos");
$hoyno=mysql_num_rows($fin);
if($hoyno<>""){
	
	#echo "proximo corte"." <br /> ".$date." <br />  ".$hoy['Email'].$hoy['Hora_Termino'];;
echo '<table width="450" align="center" cellpadding="2" cellspacing="0">';
echo "<tr bgcolor=#292929 align='center' class='xy'>
		<td>Email</td>
		<td aling=center>Password</td>
		<td>Estatus</td>
		<td>Activar</td>";
    echo "</tr>";
	while($hoy = mysql_fetch_array($fin))
	if($color==1){
echo "<tr bgcolor='#F0F0F0' align='center'>
<td>".$hoy['Email']."</td>
<td>".$hoy['Password']."</td>
<td>".$hoy['Estatus']."</td>
<td><a style=\"text-decoration:underline;cursor:pointer;\" onclick=\"showUser('".$hoy['Id']."')\">Eliminar</a></td>
</tr>";
// Set $color==2, for switching to other color
$color="2";
}
 
// When $color not equal 1, use this table row color
else {
echo "<tr bgcolor='#DEDEBE' align='center'>
<td>".$hoy['Email']."</td>
<td>".$hoy['Password']."</td>
<td>".$hoy['Estatus']."</td>
<td><a style=\"text-decoration:underline;cursor:pointer;\" onclick=\"showUser('".$hoy['Id']."')\">Eliminar</a></td>
</tr>";

$color="1";
}

echo '</table>';
}
}

?>
						</div>
</body>
</html> 
ajax
Código:
function showUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  } 
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
	setTimeout('refresh()',time*1000);
    }
  }
xmlhttp.open("GET","php/demo.php?q="+str,true);
xmlhttp.send(null);

}
demo.php
Código PHP:
<?php
$con 
mysql_connect("localhost","root","");
if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }

mysql_select_db("2013"$con);
$q=$_GET["q"];



mysql_query("update demos set Estatus='Activo'  WHERE Id='$q'");


mysql_close($con);
?>
eso es todo lo que tengo repito la actualizacion la hace... pero solo se ve cuando refresco mi pagina ahora... yo no envio un formulario, envio una variable para hacer la consulta y saber sobre que Id de mi tabla se dio clic y asi hacer la actualizacion

Última edición por ecosysonidos; 14/07/2013 a las 12:17

Etiquetas: actualizacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:55.