2016-08-20 75 views
1

美好的一天, 我想創建一個表單,它將搜索mysql數據庫中的結果並使用循環顯示結果。我有兩個搜索選項,一個使用ID和一個使用字符串。身份證搜索工作正常,因爲身份證是唯一的,一個結果是返回,我可以打印出來,但我試圖適應這一功能,我可以用於兩者,因爲字符串應該返回需要循環的列表結果。結果作爲一個對象返回,這是我努力讓循環給出每個結果的屬性和鍵列表,因爲它爲每個鍵循環=>值罰款,但需要知道如何去首先通過每個對象,然後鍵=>值。PHP,試圖通過mysql數據庫結果循環

在我的課,這是發現的代碼我使用:

public static function find_by_qual_id($qual_id){ 
     global $database; 
     $clean_qual_id = $database->escape_value($qual_id); 
     $result_array = static::find_by_sql("SELECT * FROM sdp WHERE qual_id='{$clean_qual_id}' LIMIT 1"); 
     return !empty($result_array) ? array_shift($result_array) : false; 
     return $result_array; 
    } 

在頁面上,這是循環(不工作):

if(isset($qual_id)){ 
      $qual_info = Qual_lookup::find_by_qual_id($search_qual_id); 
      if($qual_info != null){ 
       echo "<h4>RESULTS FOUND FOR \"{$search_qual_id}\"</h4>"; 
       echo "<div><form name=\"found_qual\"><table>"; 
       foreach($qual_info as $qual){ 
        foreach($qual as $key => $value){ 
         echo "<tr><td>{$key} : </td><td">{$value}</td></tr>"; 
        } 
       } 
      } else { 
       echo "No results found for \"{$search_qual_id}\""; 
      } 
      echo "</table></form></div>"; 
     } 
+0

幾乎所有的編碼都可以通過改進來完成。對於初學者來說,你可以用單引號(''')替換''''(或者'"',例如在你的'h4'標籤中), – Martin

+0

爲什麼你使用靜態函數而不是正確的類對象呢? – Martin

+0

請[停止使用您的PHP類中的全局變量](http://stackoverflow.com/questions/12445972/stop-using-global-in-php) – Martin

回答

0

OK我發現這個問題。 ..由於某種原因,我有2類返回語句中的類:

return !empty($result_array) ? array_shift($result_array) : false; 
return $result_array; 

刪除第一個返回語句現在使這項工作...它se EMS。