2015-11-05 112 views
-2

我還是PHP MySQL的初學者。我在尋找最有效的/最簡單的方式爲exportingSearched Data.CSV
將搜索結果導出到.CSV,PHP MySQL

場景:
我想有出口按鈕,其搜索的結果可能是出口.CSV喜歡。

也許過程是這樣的:

搜索你想要的任何數據>(點擊搜索按鈕)
如果沒有結果發現>提示符誤差>死
如果任何記錄中發現>顯示器>(點擊導出按鈕)>導出爲.csv


這裏是我的我的搜索表單代碼:

<?php 
    session_start(); 
    include_once "dbconnect.php"; 
    date_default_timezone_set('Hongkong'); 


    //LOG IN VALIDATION 
    if(!isset($_SESSION['user'])) 
    { 
    header("Location: index.php"); 
    } 
    $res=mysql_query("SELECT * FROM accounts WHERE user_id=".$_SESSION['user']); 
    $userRow=mysql_fetch_array($res); 

    ?> 

    //HTML SEARCH FORM IS HERE 
    //SEARCH BUTTON <br/><h5 style="float:right;"><button type="submit" class="btn btn-theme02" name="search" ><i class="fa fa-check">Search Customers</i></button></h5> 

    //BUTTON FOR IMPORTING THE SEARCHED DATA INTO CSV 
    //DONT HAVE FUNCTION YET DON'T KNOW HOW TO EXPORT THE DATA 
    <button type="submit" name="EXPORT">EXPORT TO CSV</button> 


<?php 
$number = 1;//NOT IMPORTANT, JUST USE TO NUMBERING THE ITEMS SEARCHED 

//TABLE 
echo "<table class=\"table table-hover\" id=\"table1\" >"; 
      //TABLE ROW NAMES - SQL TABLE 
      echo " <hr><thead><tr>"; 
      echo "<th></th>"; 
      echo "<th>Globe Number</th>"; 
      echo "<th>Full Name</th>"; 
      echo "<th>State</th>"; 
      echo "<th>Country</th>"; 
      echo "<th>Virtual Number</th>"; 
      echo "<th>Date of Subscription</th>"; 
      echo "<th>Expiration Date</th>"; 
      echo "<th></th>"; 
      echo "</tr></thead>";  

      //FUNCTION OF SEARCH BUTTON 
      if (isset($_POST['search'])) { 
      $globe = htmlentities(mysql_real_escape_string($_POST['globe'])); 
      $name = htmlentities(mysql_real_escape_string($_POST['name'])); 
      $vr = htmlentities(mysql_real_escape_string($_POST['virtual'])); 
      $ctry= htmlentities(mysql_real_escape_string($_POST['country'])); 


      if (empty($globe) && empty($name) && empty($vr) && empty($ctry) && empty($dateStarted) && empty($dateExpired) 
      && empty($time) && empty($transaction) && empty($subs) && empty($status) && empty($remarks) && empty($year) && empty($month)) { 
      echo '<script>alert(\'Select atleast 1 filter\')</script>'; 
      exit;   
     } 

      //SEARCH CONDITIONS 
      if (!empty($globe)) { 
      $sql = "SELECT * FROM `subscribers` WHERE `globeNumber` = '".$globe."' AND `agentCode`='".$agent."' ORDER BY `dateStarted` DESC "; 

      }if (!empty($name)) { 
      $sql = "SELECT * FROM `subscribers` WHERE `fName` LIKE '%".$name."%' OR `lName` LIKE '%".$name."%' AND `agentCode`='".$agent."' ORDER BY `dateStarted` DESC "; 

      }if (!empty($vr)){ 
      $sql = "SELECT * FROM `subscribers` WHERE `virtualNumber` = '".$vr."' AND `agentCode`='".$agent."' ORDER BY `dateStarted` DESC "; 

      }if (!empty($ctry)){ 
      $sql = "SELECT * FROM `subscribers` WHERE `country` = '".$ctry."' AND `agentCode`='".$agent."' ORDER BY `dateStarted` DESC "; 


      //COMBINATION CONDITIONS 
      // I MINIMIZE THE CONDITION FOR SEARCH HERE    
     } if (!empty($globe) && !empty($name)) { 

      $sql = "SELECT * FROM `subscribers` WHERE `globeNumber` = '".$globe."' AND `fName` = '".$name."' AND `lName` = '".$name."' 
      AND `agentCode`='".$agent."' ORDER BY `dateStarted` DESC "; 

     } if (!empty($globe) && !empty($vr)) { 

      $sql = "SELECT * FROM `subscribers` WHERE `globeNumber` = '".$globe."' AND `virtualNumber` = '".$vr."' 
      AND `agentCode`='".$agent."' ORDER BY `dateStarted` DESC "; 

     } if (!empty($globe) && !empty($ctry)) { 

      $sql = "SELECT * FROM `subscribers` WHERE `globeNumber` = '".$globe."' AND `country` = '".$ctry."' 
      AND `agentCode`='".$agent."' ORDER BY `dateStarted` DESC "; 
     } 

     //THE QUERY RUN HERE 
     if ($result=mysql_query($sql)) { 
      $query_num_rows = mysql_num_rows($result); 

       //IF NO RECORD FOUND RUN THIS 
       if($query_num_rows == 0){ 
        echo "<script> alert('No Records Found, Please try again!')</script>"; 

     } else { 

     while($row=mysql_fetch_array($result)){ 

      echo "<tbody><tr>"; 
      echo "<td>".$number."</td>"; 
      echo "<td>".$row['globeNumber']."</td>"; 
      echo "<td>".$row['lName'].", ".$row['fName']." ".$row['mName']."</td>"; 
      echo "<td>".$row['state']."</td>"; 
      echo "<td>".$row['country']."</td>"; 
      echo "<td>".$row['virtualNumber']."</td>"; 
      echo "<td>".$row['dateStarted']."</td>"; 
      echo "<td>".$row['dateExpired']."</td>"; 
      ++$number;//NOT IMPORTANT, JUST USE FOR NUMBERING THE ITEMS SEARCHED 

      echo "</form></tr>"; 
      echo "string"; 
    }}}} ?> 

PS:我還在使用MySQL,因爲我想先熟悉一下。

+0

@德魯:是的,我報告了刪除先生。仍然寬廣的先生?我的問題是'我怎樣才能導出到csv搜索表單的結果?' – Edmhar

+0

我問你至少要顯示一些你想要的樣例輸出,並且首先轉向mysql。而不是用這樣的輸出來改進問題(說你看到的只是PHP代碼的顯示),並且Stack上沒有其他參考文件可以工作,那麼你知道其他文件 – Drew

+1

@Drew:我知道先生,我很快就會編輯它。謝謝 – Edmhar

回答

1

波紋管的步驟將幫助你。

  1. 創建功能,用於檢索搜索結果
  2. 驗證輸入的記錄和調用此函數和在陣列/對象的形式返回值
  3. 如果結果爲空,則返回false
  4. 顯示所獲取的記錄
  5. 如果「被點擊導出」提交搜索的相同值與一個出口標誌
  6. 檢查你設置的標誌和要求相同的功能搜索
  7. 設置下載CSV文件的標題
  8. 用分隔符'|'打印結果或','
+0

你能否提供一個這個實現的工作示例?謝謝。 –