Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/04/2016, 16:25
Adri82
 
Fecha de Ingreso: mayo-2011
Ubicación: Córdoba Capital
Mensajes: 15
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Editar registros según checkbox seleccionados con $.ajax

Hola infoturnosya, gracias por responder.
Mirá, este es el form entero y dentro está la tabla de usuarios:

Código HTML:
<form name="form_user_list" id="form_user_list" method="get" action="">
    <table id="UserTable" cellpadding="0" cellspacing="0" border="0" class="tablesorter">
        <thead>
            <tr>
                <th class="select tac">&nbsp;</th>
                <th class="tienda tal">Tienda</th>
                <th class="repre_tienda tal">Nombre Usuario</th>
                <th class="more_info_user tac">&nbsp;</th>
                <th class="registro tac">Registro</th>
                <th class="acceso tac">Acceso</th>
            </tr>
        </thead>
        <tbody>
            <?php
            while($infouserlist = mysql_fetch_array($queryuser))
                {
                $fecharegistro = convertir_fecha_calendario($infouserlist['udatereg']);
            ?>
            <tr>
                <td class="select tac">
                    <input type="checkbox" name="update[]" id="update[]" value="<?php echo $infouserlist['uid'];?>" />
                </td>
                <td class="tienda tal">
                    <?php
                    echo utf8_encode(ucwords(strtolower($infouserlist['utienda'])));
                    if(empty($infouserlist['utienda']))
                        {
                        echo utf8_encode(ucwords(strtolower($infouserlist['ufname']." ".$infouserlist['ulname'])));
                        }
                    ?>
                </td>
                <td class="repre_tienda tal">
                    <?php echo utf8_encode(ucwords(strtolower($infouserlist['ufname']." ".$infouserlist['ulname']))); ?>
                </td>
                <td class="more_info_user tac"><a data-toggle='modal' data-id="<?php echo $infouserlist['uid']; ?>" href="#infoDetalleUser" class="btn-more-info-user"><i class="icon-search-more"></i></a>
                </td>
                <td class="registro tac"><?php echo $fecharegistro; ?></td>
                <td class="acceso tac">

                <!-- Acá está el link con el icono de acceso. -->
                <!-- Según el estado, será el icono que se muestre. -->

                <div id="userstatus<?php echo $infouserlist['uid']; ?>">
                <?php
                if($infouserlist['ustatus'] != '0')
                    {
                    echo '
                    <a data-id-a="'.$infouserlist['uid'].'" data-id-b="'.$infouserlist['ustatus'].'" class="btnaccess">
                        <i class="icon-full-access"></i>
                    </a>';
                    }
                    else
                        {
                        echo '
                        <a data-id-a="'.$infouserlist['uid'].'" data-id-b="'.$infouserlist['ustatus'].'" class="btnaccess">
                            <i class="icon-cancel-access"></i>
                        </a>';
                        }
                ?>
                </div>
                <div id="statusnew<?php echo $infouserlist['uid']; ?>"></div>
                </td>
            </tr>
            <?php
                }
            ?>
        </tbody>
    </table>
    </form> 
Como podrás ver, son dos div's los que hacen referencia al status del usuario:
Una es "userstatusID" y la otra "statusnewID".
En "userstatusID" se carga el icono del estado cuando la pagina se carga por primera vez. Luego, si yo hago clic en el icono de status para cambiarlo, con la llamada $.ajax hago que el div "usertatusID" se oculte y el contenido de "data" se cargue en el div statusnewID.

En resumen, logro obtener los ID's de los usuarios a los que les quiero cambiar el estado, los mismos se guardan en el array, los envío a querys.php y en el mismo la consulta se ejecuta correctamente ya que todos los estados se cambian.
El tema está en el "success" de la llamada. Como no le he puesto nada.. se ejecuta la llamada y obviamente no me muestra nada, pero si actualizo la pagina observo que todos los estados se cambiaron correctamente.

Yo quiero poder mostrar los cambios sin tener que actualizar la página, exactamente como logro poder hacerlo si cambio los estados de a uno, haciendo clic en los iconos de cada usuario.
Por eso mi duda es como hacer para poder ocultar statususerID y mostrar statusnewID pero de todos los usuarios a los que se le modificó el estado.

Sigo leyendo sobre lo que me pusiste para hacer pero no prometo nada.
Recién empiezo con esto de jquery y ajax, así que si es mucho lío dejaré nomas que se actualice la página y seguiré leyendo para aprender.

Muchas gracias de antemano por tu ayuda.

Salu2! ^^