2016-07-09 15 views
0

にすべての列には、私は20列が存在する表mainaccountを、持っているが、唯一の2つの列メールモバイルを示します。今、私はすべてのコラムをExcelシートにダウンロードしたいと思います。私はコードをもっている。しかし、それは動作していません。誰でも助けてくれますか?ダウンロードExcelシート

エラーがあります:警告:不正なforeachのために供給される引数()Eに:\ WAMP \ WWW \ export_to_excel \ export_to_excel \ index.phpをライン83

<?php 
    include("connection.php"); 

    $data1 = mysql_query("select * from mainaccount order by id DESC") or die(mysql_error()); 

         while($data=mysql_fetch_array($data1)){ 

         ?> 

         <? 

     if(isset($_POST["ExportType"])) 
    { 

    switch($_POST["ExportType"]) 
    { 
    case "export-to-excel" : 
     // Submission from 
     $filename = $_POST["ExportType"] . ".xls";  
     header("Content-Type: application/vnd.ms-excel"); 
     header("Content-Disposition: attachment; filename=\"$filename\""); 
     ExportFile($data); 
     //$_POST["ExportType"] = ''; 
     exit(); 
    default : 
     die("Unknown action : ".$_POST["action"]); 
     break; 
    } 
    } 
    function ExportFile($records) { 
    $heading = false; 
    if(!empty($records)) 
     foreach($records as $row) { 
     if(!$heading) { 
      // display field/column names as a first row 
      echo implode("\t", array_keys($row)) . "\n"; 
      $heading = true; 
     } 
     echo implode("\t", array_values($row)) . "\n"; 
     } 
    exit; 
    } 

    ?> 

    <?php } ?> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css"> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap-theme.min.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script> 

     <div> 
    <div id="container" > 
     <div class="col-sm-6 pull-left"> 
       <div class="well well-sm col-sm-12"> 
        <b id='project-capacity-count-lable'><?php echo count($data);?></b> records found. 
       <div class="btn-group pull-right"> 

     <ul class="" role="menu" id="export-menu"> 
     <li id="export-to-excel"><a href="#">Export to excel</a></li> 

     </ul> 
     </div> 

        </div> 
        <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" id="export-form"> 
        <input type="hidden" value='' id='hidden-type' name='ExportType'/> 
        </form> 
       <table id="" class="table table-striped table-bordered"> 
       <tr> 
        <th>Email</th> 
        <th>Mobile</th> 

       </tr> 

      <?php $res5 = mysql_query("select * from mainaccount order by id DESC") or die(mysql_error()); 
             $sr = 1; 
             while($row5 = mysql_fetch_array($res5)) 
             { ?> 
      <tbody> 
       <?php foreach($data as $row):?> 
       <tr> 
       <td><?php $row5['email']; ?></td> 
       <td><?php $row5['mobile']; ?></td> 

       </tr> 
       <?php endforeach; ?> 
      </tbody> 
      <?php } ?> 
      </table> 
      </div></div> 

     </div> 
     </body> 
     <script type="text/javascript"> 
     $(document).ready(function() { 
     jQuery('#export-menu li').bind("click", function() { 
     var target = $(this).attr('id'); 
     switch(target) { 
    case 'export-to-excel' : 
    $('#hidden-type').val(target); 
    //alert($('#hidden-type').val()); 
    $('#export-form').submit(); 
    $('#hidden-type').val(''); 
    break 
    } 
    }); 
    }); 
    </script> 

答えて

0

私は100%を確認していない上、私はこのように関数ExportFileを呼び出さなければならないと思います:

 case "export-to-excel" : 
    // Submission from 
    $filename = $_POST["ExportType"] . ".xls";  
    header("Content-Type: application/vnd.ms-excel"); 
    header("Content-Disposition: attachment; filename=\"$filename\""); 
    $data = mysql_query("select * from mainaccount order by id DESC") or die(mysql_error()); 
    ExportFile($data); 
    //$_POST["ExportType"] = ''; 
    exit(); 
関連する問題