2013-04-16 60 views
0

我試圖做一個搜索功能,爲我的網頁,但我有格式化的結果的困難,使其在這個表格格式出來的輸出是我的代碼格式化來自搜索

<?php 
    $query = $_GET['query'];  
    $min_length = 10; 

    if(strlen($query) >= $min_length){ // if query length is more or equal minimum length then 

     $query = htmlspecialchars($query); 

     $query = mysql_real_escape_string($query); 

     $raw_results = mysql_query("SELECT * FROM aggrement 
      WHERE (`description` LIKE '%".$query."%') OR (`start_date` LIKE '%".$query."%') OR (`end_date` LIKE '%".$query."%') OR (`balance` LIKE '%".$query."%') OR (`tax_value` LIKE '%".$query."%') OR (`amount_paid` LIKE '%".$query."%') OR (`hosting_name` LIKE '%".$query."%') OR (`domain_name` LIKE '%".$query."%') OR (`first_name` LIKE '%".$query."%') OR (`last_name` LIKE '%".$query."%')") or die(mysql_error()); 

     if(mysql_num_rows($raw_results) > 0){ 

      while($results = mysql_fetch_array($raw_results)){ 

       echo "<p><h3>".$results['description']."</h3>".$results['start_date']."</p>"; 
         }  
     } 
     else{ 
      echo "No results"; 
     } 
    } 
    else{ 
     echo "Minimum length is ".$min_length; 
    } 
?> 

我使用echo輸出結果echo "<p><h3>".$results['description']."</h3>".$results['start_date']."</p>";

,但我想用這個語法

echo "<table>"; 
echo "<tr> 
<th>Id</th> 
<th><a href='viewaggrement.php?sort=description'>Description</th> 
<th><a href='viewaggrement.php?sort=start_date'>Start Date</th> 
<th><a href='viewaggrement.php?sort=end_date'>End Date</th> 
<th><a href='viewaggrement.php?sort=balance'>Balance</th> 
<th><a href='viewaggrement.php?sort=tax_value'>Tax </th> 
<th><a href='viewaggrement.php?sort=amount_paid'>Amount Paid</th> 
<th><a href='viewaggrement.php?sort=domain_name'>Domain Name</th> 
<th><a href='viewaggrement.php?sort=hosting_name'>Hosting Name</th> 
<th><a href='viewaggrement.php?sort=first_name'>First Name</th> 
<th><a href='viewaggrement.php?sort=last_name'>Last Name</th> 
<th>Edit</th> 
<th>Delete</th> 
</tr>"; 
echo "<table>"; 
+1

什麼問題,到底是什麼?如果您已經知道要輸出的HTML結構,爲什麼不用當前的版本替換?哪種方式不起作用? – David

+0

您不關閉表格標籤。這可能是你的問題嗎? – imulsion

+0

如果我把$ results ['description']不起作用 – alexzandria

回答

1

下應該得到你所需要的結果:

if(mysql_num_rows($raw_results) > 0){ 
    echo "<table>"; 
    // echo your header row here 
    while($results = mysql_fetch_array($raw_results)){ 
     echo "<tr>"; 
     echo "<td>".$results['description']."</td>"; 
     echo "<td>".$results['start_date']."</td>"; 
     //And so on for each row you require 
     echo "</tr>"; 
    } 
    echo "</table>"; 
} 
1

什麼這樣的事情?

在開始循環結果併爲每個結果創建一行之前,請打開表標記。然後,當循環完成結果時,關閉表格標籤。

<?php 
    $query = $_GET['query'];  
    $min_length = 10; 

    if(strlen($query) >= $min_length){ // if query length is more or equal minimum length then 

     $query = htmlspecialchars($query); 

     $query = mysql_real_escape_string($query); 

     $raw_results = mysql_query("SELECT * FROM aggrement 
      WHERE (`description` LIKE '%".$query."%') OR (`start_date` LIKE '%".$query."%') OR (`end_date` LIKE '%".$query."%') OR (`balance` LIKE '%".$query."%') OR (`tax_value` LIKE '%".$query."%') OR (`amount_paid` LIKE '%".$query."%') OR (`hosting_name` LIKE '%".$query."%') OR (`domain_name` LIKE '%".$query."%') OR (`first_name` LIKE '%".$query."%') OR (`last_name` LIKE '%".$query."%')") or die(mysql_error()); 

     if(mysql_num_rows($raw_results) > 0){ 

     echo "<table>"; 
      while($results = mysql_fetch_array($raw_results)){ 

       echo "<tr>"; 
        echo "<td>".$results['description']."</td><td>".$results['start_date']."</td>"; 
       echo "</tr>"; 
         }  

     echo "</table>"; 
     } 
     else{ 
      echo "No results"; 
     } 
    } 
    else{ 
     echo "Minimum length is ".$min_length; 
    } 
?>