Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/06/2012, 15:50
Avatar de Lerolero
Lerolero
 
Fecha de Ingreso: junio-2012
Mensajes: 18
Antigüedad: 11 años, 10 meses
Puntos: 0
Checkbox con sesiones y paginado

Hola,

Tengo la siguiente página:
Código PHP:
Ver original
  1. if (isset($_SESSION['activo'])!=1){
  2.   echo '<script>document.location.href="index.php?submod=inicio";</script>';
  3. }
  4. $obj_agenda = new sQuery;

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.  function accion(){
  3.   var cad="";
  4.   var separador="";
  5.   for ( x=0; x < document.form2.elements.length; x++)
  6.   {
  7.     if(window.document.form2.elements[x].checked)
  8.     {
  9.         cad+=separador;
  10.         cad+=window.document.form2.elements[x].value;
  11.         separador=";";
  12.        
  13.     }
  14.   }
  15.  
  16.     window.opener.document.form1.Arraycorreos.value = cad;
  17.     window.close();
  18.   }
  19.  
  20. function seleccionar_todo(){
  21.    for (i=0;i<document.form2.elements.length;i++)
  22.       if(document.form2.elements[i].type == "checkbox")
  23.          document.form2.elements[i].checked=1
  24. }
  25.  
  26. function deseleccionar_todo(){
  27.    for (i=0;i<document.form2.elements.length;i++)
  28.       if(document.form2.elements[i].type == "checkbox")
  29.          document.form2.elements[i].checked=0
  30. }
  31.  
  32.    
  33.    </script>
Código HTML:
Ver original
  1. <div id="main">
  2.               <a name="TemplateInfo"></a>
  3.               <h1>Correos de contactos</h1>
  4.             </div>
  5. <div align="center" >
  6.   <!-- Se crea el formulario -->
  7.   <!-- Nombre del formulario, action direccionado a la misma pagina y por metodo post-->
  8. <form name="form2" method="POST" action="<?php $_SERVER['REQUEST_URI'] ?>">

Código PHP:
Ver original
  1. $request= 'SELECT t_contacto.id
  2.                         FROM t_contacto, t_empresa
  3.                        WHERE t_contacto.activo_id=2
  4.                          AND t_empresa.id = t_contacto.empresa_id  
  5.                     ORDER BY cne_nombre'; //Ejecutamos la consulta
  6.         $consul = $obj_agenda->executeQuery($request);
  7.         $prueba= mysql_num_rows($consul); //Contamos el n&uacute;mero de filas de la consulta
  8.         $rows_by_page = 15;
  9.         $last_page = ceil($prueba/$rows_by_page); //Calculamos el número de páginas
  10.  
  11.         if(isset($_GET['page'])){ //Comprobamos si se ha seleccionado alguna página en concreto
  12.                  $page = $_GET['page'];
  13.         }else{
  14.                  $page = 1; //Si no se ha seleccionado nada la p&aacute;gina es uno por defecto
  15.               }
  16.          $limit = 'LIMIT ' .($page - 1) * $rows_by_page .',' .$rows_by_page; //Establesco el limite
  17.          
  18.             $query = 'SELECT t_contacto.id, cne_nombre, cne_apellido, cne_email_corporacion, cne_email_personal
  19.                         FROM t_contacto, t_empresa
  20.                        WHERE t_contacto.activo_id=2
  21.                          AND t_empresa.id = t_contacto.empresa_id
  22.                     ORDER BY cne_nombre '.$limit;  
  23.                     ;
  24.                  $result = $obj_agenda->executeQuery($query);
  25.                  // Recorremos todos los registros que haya soltado el query
  26.                  echo '<table class="lista" >
  27.              <tr>
  28.                <th align="center">CONTACTO</th>
  29.                 <th align="center">CORREO CORPORACIÓN</th>
  30.                 <th align="center">CORREO PERSONAL</th>
  31.                 </tr><tr><td colspan="3"  align="center">
  32.               <a href="javascript:seleccionar_todo()">Marcar todos</a> |
  33. <a href="javascript:deseleccionar_todo()">Marcar ninguno</a></td> </tr>';
  34.                   while($row = mysql_fetch_array($result)) {
  35.                      echo'<tr><td>'.$row['cne_nombre'].' '.$row['cne_apellido'].'</td>';
  36.                     if ($row['cne_email_corporacion'] == "")
  37.                     {
  38.                         echo '<td align="center" >*****</td>';
  39.                     }
  40.                     else
  41.                     {
  42.                    
  43.                      echo '<td><input type="checkbox" name="correocorporacion[]"
  44.                       value="'.$row['cne_email_corporacion'].'"/>'.$row['cne_email_corporacion'].'</td> ';
  45.                 }
  46.                    
  47.                    
  48.                    
  49.                         if ($row['cne_email_personal'] == "")
  50.                     {
  51.                         echo '<td align="center" >*****</td>';
  52.                     }
  53.                     else
  54.                     {
  55.                 echo'<td><input type="checkbox" name="correopersonal[]"
  56.                       value="'.$row['cne_email_personal'].'"/>'.$row['cne_email_personal'].'</td></tr>';
  57.                     }
  58.                    
  59.                            }
  60.                 echo '<tr><td align="center" colspan="3">';                
  61.         if($page>1){ //Si la p&aacute;gina es mayor que uno, se emprimen los links y se les pasa la p&aacute;gina
  62.                        //y la variable se sesi&oacute;n
  63.                 echo '<a href="index.php?submod=email_contactos&page= 1 "> << FIRST </a>
  64.                      <a href="index.php?submod=email_contactos&page='.($page - 1).'"> < PREV </a>';
  65.         }else{
  66.                 echo '<< FIRST < PREV ';
  67.              }
  68.  
  69.                 echo 'Pagina '.$page.' de '.$last_page;
  70.         if($page<$last_page){
  71.                 echo '<a href="index.php?submod=email_contactos&page='.($page + 1).'"> NEXT > </a>
  72.                       <a href="index.php?submod=email_contactos&page='.$last_page.'"> LAST >> </a>';
  73.         }else{
  74.                 echo' NEXT > LAST >> </tr>';
  75.              }
  76.                 echo '</table>';
Código HTML:
Ver original
  1. <input type="button" value="Aceptar" onclick="accion()">
  2. </form>  <!-- Cierro el formulario -->
  3. </div>

Esta página la abro desde una página principal y al seleccionar correos de la lista de checkboxes, los concatena y los agrega a un textarea, mi problema es que al pasar a otra página pierdo los checkbox que he seleccionado y no los agrega al textarea, He pensado pasar los checkbox seleccionados con variables de sesión y al final agregarlos, pero estoy algo confundida con eso. Espero me puedan ayudar!!