2015-11-05 114 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

你能否提供一个这个实现的工作示例?谢谢。 –