2016-08-20 78 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。