2015-01-03 69 views
1

在查看傳遞數據我存儲在一個$data變量的SQL查詢結果,並把它傳遞給一個search_view像這樣從我的模型:錯誤在笨

 $this->db->like('LOWER(title)', strtolower($query)); 
     $q = $this->db->get('questions'); 
     $data = $q->row_array(); 
     $this->load->view('search_view', array('data' => $data)); 

,我試圖以顯示所有結果在我看來,用以下結構:

<?php if ($data['search_type'] == 'question') { 
     foreach ($data as $question) { 
?> 


<div class="question-result"> 
    <h2><?php echo $question['title']; ?></h2> 
    <p>Posted by: <a href="#"><?php echo $question['username']; ?>username</a></p> 
    <p>Date Posted: <?php echo $question['date']; ?></p> 
</div> 


<?php } } ?> 

其中$數據[「SEARCH_TYPE」]是我需要檢查,看看執行的搜索類型,該位被測試,工作正常,沒有必要擔心它,但是,

我得到了一個非法的字符串偏移量錯誤,像我使用的用戶名,標題和日期等所有變量。

eddit *例子轉儲:

array(7) { ["question_id"]=> string(1) "3" ["title"]=> string(19) "First Question Ever" ["content"]=> string(13) "Hello Content" ["date"]=> string(19) "2015-01-03 15:08:30" ["user_id"]=> string(2) "14" ["username"]=> string(4) "Ilya" ["search_type"]=> string(8) "question" } 

由於某種原因,這是不返回不止一個問題,但應該有更多的用於執行搜索。

+0

用'var_dump($ data);'來看你實際得到的東西。 – mario

回答

1

您不需要使用另一個foreach,因爲它不在另一個維度。使用->row_array()後,只返回一行。

<?php if ($data['search_type'] == 'question') { ?> 

<div class="question-result"> 
    <h2><?php echo $data['title']; ?></h2> 
    <p>Posted by: <a href="#"><?php echo $data['username']; ?>username</a></p> 
    <p>Date Posted: <?php echo $data['date']; ?></p> 
</div> 

<?php } ?> 

如果你希望有更多的結果,然後使用->result_array()代替:

$data = $q->result_array(); 

然後在視圖:

<?php foreach ($data as $question): ?> 
    <?php if ($question['search_type'] == 'question') { ?> 
     <div class="question-result"> 
      <h2><?php echo $question['title']; ?></h2> 
      <p>Posted by: <a href="#"><?php echo $question['username']; ?>username</a></p> 
      <p>Date Posted: <?php echo $question['date']; ?></p> 
     </div> 
    <?php endif; ?> 
<?php endforeach; ?> 

或者乾脆添加$this->db->where('search_type', 'question'),所以你不會有在上面的循環中放入一個if。

+0

修正了現在我只能看到一個結果的問題,我可以正確地看到兩者並形成正確的結果,但是仍然出現錯誤:/ – Ilja

+0

@Ilya能否詳細說明這些錯誤,哪些錯誤正在工作,哪些錯誤沒有? '但是在那之後我仍然得到錯誤:/'很難猜測我的身邊:) – Ghost