0

I want to export mysql table called "lokasi" in to excel but these are the errors I am getting:

Notice: Undefined index: no_lokasi in C:\xampp\htdocs\inventory\pages\report.php on line 14

Notice: Undefined index: nama_lokasi in C:\xampp\htdocs\inventory\pages\report.php on line 15

Notice: Undefined index: keterangan_lokasi in C:\xampp\htdocs\inventory\pages\report.php on line 16

Notice: Undefined index: no_lokasi in C:\xampp\htdocs\inventory\pages\report.php on line 14

Notice: Undefined index: nama_lokasi in C:\xampp\htdocs\inventory\pages\report.php on line 15

and here is my code:

<?php
    if($_SESSION["role"]!=1){
        header('location:login.php');
    }
    else {
        require_once dirname(__FILE__) . '\..\bower_components\phpexcel\Classes\PHPExcel.php';

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

            $objPHPExcel = new PHPExcel();
            $objWorksheet = $objPHPExcel->setActiveSheetIndex(0);

            $result = mysql_query("SELECT * FROM lokasi",$conn);

            $rowCount= 1;
            while($row=mysql_fetch_row($result)){
                $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['no_lokasi']); 
                $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['nama_lokasi']);
                $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $row['keterangan_lokasi']);             
                $rowCount++; 
            }

            $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); 
            $objWriter->save('some_excel_file.xlsx'); 
        }
?>      
        <div class="row">
            <div class="col-lg-12">
                <h1 class="page-header">Print Preview</h1>
            </div>
        </div>
        <div class="row">
            <div class="col-lg-12">
                <div class="panel panel-default">
                    <div class="panel-body">
                        <div class="dataTable_wrapper">
                            <table class="table table-striped table-bordered table-hover" id="">
                                <thead>
                                    <tr>
                                        <center>
                                            <th>Nama Lokasi</th>
                                            <th>Keterangan</th>
                                            <th>Action</th>
                                        </center>
                                    </tr>
                                </thead>
                                <tbody>
                                <?php
                                    $result = mysql_query('SELECT * from lokasi');
                                    while($list = mysql_fetch_row($result)){
                                        echo'
                                            <tr class="odd gradeA">
                                                <td>'.$list[0].'</td>
                                                <td>'.$list[1].'</td>
                                                <td>'.$list[2].'</td>     
                                            </tr>           
                                        ';
                                    }
                                ?>                                             
                                </tbody>
                            </table>
                        </div>
                        <div class="row">
                            <div class="col-lg-6">
                                <form role="form" method="post">
                                    <button type="submit" class="btn btn-primary" name="submit">Submit</button>
                                </form>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
<?php 
    };
?>
Elin
  • 6,507
  • 3
  • 25
  • 47
Oiy
  • 25
  • 2
  • 4

1 Answers1

0

You are using mysql_fetch_row to fetch the results and you are indexing like this

while($row=mysql_fetch_row($result)){
                $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['no_lokasi']); 
                $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['nama_lokasi']);
                $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $row['keterangan_lokasi']);             
                $rowCount++; 
}

change this to

while($row=mysql_fetch_row($result)){
                $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row[0]); // to corresponding row indexes
                $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row[1]);
                $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $row[2]);             
                $rowCount++; 
}

Because The mysql_fetch_row() function fetches one row from a result-set and returns it as an enumerated array.

Vidya L
  • 2,289
  • 4
  • 27
  • 42