Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Modificar estado de un registro con Ajax, jquery, PHP y Mysql

Estas en el tema de Modificar estado de un registro con Ajax, jquery, PHP y Mysql en el foro de PHP en Foros del Web. Hola gente, quisiera consejos acerca de los procedimientos que debería seguir para lograr esto: - Tengo una lista de registros mediante una consulta con PHP ...
  #1 (permalink)  
Antiguo 05/05/2016, 12:02
 
Fecha de Ingreso: septiembre-2007
Mensajes: 49
Antigüedad: 16 años, 6 meses
Puntos: 3
Pregunta Modificar estado de un registro con Ajax, jquery, PHP y Mysql

Hola gente, quisiera consejos acerca de los procedimientos que debería seguir para lograr esto:

- Tengo una lista de registros mediante una consulta con PHP y Mysql.



- El boton de estado muestra un diferente estilo según su condición (activo/inactivo), esto lo hice con el mismo PHP. Pongo el código

Código:
<div class="lista-contenidos">
   <?php
		$consultaProg = "SELECT * FROM historias ORDER BY codigo ASC";
		$ejecutarConsultaProg = mysql_query($consultaProg);
		while ($filaProg = mysql_fetch_array($ejecutarConsultaProg)){					
			$xCodigo		=	$filaProg['codigo'];
			$xNombre		= 	utf8_encode($filaProg['nombre']);
			$xDni		= 	$filaProg['dni'];
			$xEmail		= 	$filaProg['email'];
			$xMensaje	= 	utf8_encode($filaProg['descripcion']);
			$xFecha		= 	$filaProg['fecha'];
			$xHora		= 	$filaProg['hora'];
			$xEstado	= 	$filaProg['estado'];
			$num++;
			
			if($xEstado=='I'){$xEstadoAct = '<a href="#" class="estado inactivo" data="'.$xCodigo.'">Inactivo</a>';} 
			else {$xEstadoAct = '<a href="#" class="estado activo" data="'.$xCodigo.'">Activo</a>';	}			
	?>
	<div id="bloque-datos">
      <tr>
        <td><?php echo $num; ?></td>
        <td><?php echo $xNombre; ?></td>
        <td><?php echo $xDni; ?></td>
        <td><?php echo $xEmail; ?></td>
        <td><?php echo $xMensaje; ?></td>
        <td><?php echo $xFecha; ?></td>
        <td><?php echo $xHora; ?></td>
        <td><?php echo $xEstadoAct; ?></td>
      </tr>
	</div>
	<?php
        }
    ?>
  </div>
La idea es que al darle clic en el boton el estado cambio automáticamente de activo a inactivo o viceversa, pero sin hacer un refresh de la página, por eso mencioné Ajax en el título.

Si me pueden guiar hacia un manual que me resuelva esto o ustedes mismos me podrían enseñar como hacerlo, se los agradecería mil.

Saludos.
  #2 (permalink)  
Antiguo 05/05/2016, 18:10
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Modificar estado de un registro con Ajax, jquery, PHP y Mysql

Asi podria ser:

Código Javascript:
Ver original
  1. function estado(X)
  2.  
  3. $.ajax({
  4. 'url': 'tuarchivophp.php?id='+X,
  5. type: 'post',
  6.  
  7. success: function(data){
  8.  
  9. if(data == "activo"){
  10. $("#"+X).addClass('clase');
  11. }else{
  12. $("#"+X).addClass('Otraclase');
  13. }

la X es algun parametro con el que diferencies ese campo en concreto para cada registro

Código PHP:
Ver original
  1. <a href="#" class="estado activo" data="'.$xCodigo.'" id="'.$xCodigo.'" onClick="estado(this.id)">Activo</a>

te menciono que es una explicacion vaga, pero es la idea principal del asunto, ya que yo tengo eso implementado en varios modulos de mi aplicacion, pero tendrias que adaptarlo a tu sistema, tambien crear el php que va a ejecutar el cambio de estado y todo eso. Saludos
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 06/05/2016, 11:01
 
Fecha de Ingreso: septiembre-2007
Mensajes: 49
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: Modificar estado de un registro con Ajax, jquery, PHP y Mysql

Gracias xfxstudios, confirmaste el proceso que apliqué. Primero modifiqué el registro y como resultado modifiqué los estilos y el texto del botón.

Saludos.

Etiquetas: ajax, jquery, mysql
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 03:13.