2014-01-08 9 views
0

Я пытаюсь экспортировать свои данные SQL в виде файла CSV, однако, когда я, в CSV не печатает из первой записи только второй одинЭкспорт SQL в CSV делает распечатать все записи

Здесь представляет собой код:

   <?php 
       $connect = mysqli_connect('localhost','root','','grad_gown'); 
       if (!$connect){ 
        die("Can not connect:". mysqli_error()); 
       }  
       $db = new mysqli('localhost','root','','grad_gown'); 

       ////////////////////////////////////// 
       //////////////////////////////////////// 
       if (isset($_POST['back'])){ 
       header("Location: http://localhost/login_grad_2.php"); 
       exit; 
       } 
       ////////////////////////////////////// 

       //Exporting mysql database to excel file 
       $filename = 'uploads/'.strtotime("now").'.csv'; 
       $fp = fopen($filename,"w"); 
       $sql = $db -> query("SELECT * FROM `excel_info`") or die; 
       $row_234 = $sql -> fetch_assoc(); 
       $seperator = ""; 
       $comma = ""; 

       //names/headers 
       foreach($row_234 as $name => $value){ 
       $seperator .= $comma.''.str_replace('','""',$name); 
       $comma = ",";  
       } 
       $seperator .= "\n"; 
       fputs($fp,$seperator); 

       ///values display 
       while($row_234 = $sql -> fetch_assoc()){ 
       $seperator = ""; 
       $comma = ""; 
       foreach($row_234 as $name => $value){ 
       $seperator .=  $comma.''.str_replace('','""',$value); 
       $comma = ",";  
       } 
       $seperator .= "\n"; 
       fputs($fp,$seperator); 
       } 

       fclose($fp); 
       ?> 

Так есть проблема с моим кодом? Есть ли в любом случае, что я могу заставить программу отображать все мои записи из моего SQL в CSV-файл.

+0

вы используете первый ряд, который вы запрашиваете, чтобы сделать курсовую линию; но нужно также отображать содержащиеся в нем данные. –

+0

Но почему вы игнорируете встроенную функцию PHP [fputcsv()] (http://www.php.net/manual/en/functioncsf.cs)? –

ответ

0

У вас отсутствует первое значение строки, потому что вы уже выбрали его для имени/заголовков, но не экспортировали значения.

Быстрое исправление было бы заменить вы while на более do ... while так, что первые значения строки будут экспортированы до второй выборки

+0

Благодарю вас, ваше предложение с использованием do while work, цените ваше время и помощь – user3145648

Смежные вопросы