Ver Mensaje Individual
  #12 (permalink)  
Antiguo 08/11/2012, 03:25
taboacar
 
Fecha de Ingreso: octubre-2012
Ubicación: Pozuelo de Alarcón
Mensajes: 67
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Pasar array a otro fichero.php

Muchas gracias por responder,

Como el resultado de pasar ese array a otro fichero, era que dicho fichero imprimiera la tabla con los valores de ese array en un fichero excel, me decante por usar Javascript con la librería JQuery en el mismo fichero ya que con ello me pasaba perfecta la tabla y la variable. He tenido que realizar un parche para que la tabla resultante saliera paginada, pero funciona perfectamente.

Dejo el código del apaño que he realizado por si a alguien le sirve.
Es bastante "rustico" pero era lo único que se me ha ocurrido y que funciona.

Código PHP:
Ver original
  1. <script type="text/javascript" src="<?php echo js_url(); ?>jquery-1.6.1.min.js"></script>
  2. <script type="text/javascript" src="<?php echo js_url(); ?>field_management.js"></script>
  3.  
  4. <script type="text/javascript">
  5.     $(document).ready(function()
  6.     {
  7.         $(".botonExcel").click(function(event) {
  8.             $("#datos_a_enviar").val( $("<div>").append( $("#loans_table2").eq(0).clone()).html());
  9.             $("#FormularioExportacion").submit();
  10.         });
  11.          
  12.         document.getElementById("loans_table2").style.display = 'none';
  13.     });
  14. </script>
  15.  
  16. <?php if(isset($loans) && count($loans)>0): ?>
  17.     <?php echo "<p>Loans found: "; echo count($loans); echo "</p>" ?>
  18.     <div id="pagination">
  19.     <script type="text/javascript" src="<?php echo js_url(); ?>smartpaginator.js"></script>
  20.     <table id="loans_table" class="results_table" >  
  21.         <tr class="table_header">  
  22.             <?php foreach ($ffields as $ffield): ?>
  23.                 <th scope="col"> <?php echo $ffield; ?> </th>
  24.             <?php endforeach; ?>
  25.         </tr>
  26.         <?php foreach($loans as $loan): ?>
  27.         <tr>
  28.             <?php foreach ($fields as $field): ?>
  29.                 <?php if (strcmp($field,'rma')==0): ?>
  30.                     <td><a href="/ilmts/loan/detail/<?php echo $loan['rma']?>"> <?php echo $loan[$field]; ?> </td>
  31.                 <?php else: ?>
  32.                     <td> <?php echo $loan[$field]; ?> </td>
  33.                 <?php endif; ?>
  34.             <?php endforeach; ?>
  35.         </tr>              
  36.         <?php endforeach; ?>
  37.     </table>
  38.         <form action="/ilmts/application/views/ficheroExcel.php" method="post" target="_blank" id="FormularioExportacion">
  39.         <p>Export to Excel  <img src="/ilmts/application/files/export_to_excel.gif" class="botonExcel" /></p>
  40.         <input type="hidden" id="datos_a_enviar" name="datos_a_enviar" />
  41.     </form>
  42.     </div>
  43.     <div id="pagination2">
  44.     <table id="loans_table2" class="results_table" style="display='none'">  
  45.         <tr class="table_header">  
  46.             <?php foreach ($ffields as $ffield): ?>
  47.                 <th scope="col"> <?php echo $ffield; ?> </th>
  48.             <?php endforeach; ?>
  49.         </tr>
  50.         <?php foreach($loans as $loan): ?>
  51.         <tr>
  52.             <?php foreach ($fields as $field): ?>
  53.                 <?php if (strcmp($field,'rma')==0): ?>
  54.                     <td><a href="/ilmts/loan/detail/<?php echo $loan['rma']?>"> <?php echo $loan[$field]; ?> </td>
  55.                 <?php else: ?>
  56.                     <td> <?php echo $loan[$field]; ?> </td>
  57.                 <?php endif; ?>
  58.             <?php endforeach; ?>
  59.         </tr>              
  60.         <?php endforeach; ?>
  61.     </table>
  62.     </div>
  63.  
  64.  
  65. <?php else: ?> 
  66.     <p>No loans found.</p>
  67. <?php endif; ?>

Al dar al botón que exporta a excel llama al ficheroExcel.php que contiene:

Código PHP:
Ver original
  1. <?php
  2. header("Content-type: application/vnd.ms-excel; name='excel'");
  3. header("Content-Disposition: filename=Loans Search.xls");
  4. header("Pragma: no-cache");
  5. header("Expires: 0");
  6.  
  7. echo $_POST['datos_a_enviar'];
  8. ?>


Muchas gracias por todas las respuestas.

Un saludo.