2013-03-05 81 views
0

大家好,我正在研究一個小型的初學者項目,目前我正在HTML表格中的網頁上顯示兩個單獨的表數據,但我在數據上遇到了一些問題。有一個憑證表和一個用戶首先輸入憑證的答案表,然後按下按鈕以獲得將憑證存儲在表上的重要信息,並將用戶重定向到問題頁面,在那裏他選擇一個選擇題,用戶選擇是保存到一張桌子。所有這些數據都會顯示在網頁上,但是當顯示數據時,每個輸入其詳細信息的用戶都會得到重複的答案。有人能告訴我我哪裏出了錯? tnx提前爲您提供幫助。表中的重複答案

視圖

<table border="1"> 


    <tr> 
    <th>Name</th> 
    <th>Second Name</th> 
    <th>Phone</th> 
    <th>Email</th> 
    <th>Answer</th> 
    <th>Comment</th> 
</tr> 
    <?php foreach ($query as $row): ?> 
<tr> 

    <td><?php echo $row->name; ?></td> 
    <td><?php echo $row->second_name; ?></td> 
    <td><?php echo $row->phone; ?></td> 
    <td><?php echo $row->email; ?></td> 
     <td> <?php echo $row->answerA;?> 
     <?php echo $row->answerB;?> 
     <?php echo $row->answerC;?></td> 
    <td><?php echo $row->comment;?><br></td> 

</tr> 

    <?php endforeach; ?> 

</table> 

控制器

function getall(){ 

    $this->load->model('result_model'); 
    $data['query'] = $this->result_model->result_getall(); 
    $this->load->view('result_view', $data); 

    } 

模式

function result_getall(){ 
    return $this->db->select('tblanswers.*,credentials.*') 
       ->from('tblanswers, credentials') 
       ->get() 
       ->result_object(); 

} 
+0

您可能需要按憑證表對結果進行分組。但是我對你如何構建你的查詢有點不確定。不應該有一個或多個加入? – jtheman 2013-03-05 11:10:32

+0

我的表daunt之間有任何關係數據我只顯示他們作爲兩個單獨的表 – 2013-03-05 11:15:09

+0

你可以解釋更多關於如何分組結果? – 2013-03-05 11:15:37

回答

4

您選擇了從TBL答案,沒有加入任何專欄的證書。你最後得到了一個交叉連接,它將每一行與另一個表中的每一行進行配對。您需要指定tblanswers中的哪些行與證書中的哪些行相關。例如。如果證書中有一個id列,那麼您需要在tblanswers中創建一個credentials_id列並輸入數據以使它們匹配。你GETALL()應該是這個樣子:

function result_getall(){ 
    return $this->db->select('tblanswers.*,credentials.*') 
       ->from('tblanswers') 
       ->join('credentials', 'tblanswers.credentials_id = credentials.id') 
       ->get() 
       ->result_object(); 

} 

它說

join('credentials', 'tblanswers.credentials_id = credentials.id') 

指定兩個表是如何關聯的線。

假設瓊斯先生輸入他的憑證,他們被保存在ID 72的證書表中,然後他輸入他的答案。您需要確保在保存它們時,在答案表的credentials_id列中輸入「72」。這表示這些答案屬於瓊斯先生。當你使用上面指定的連接運行查詢時,它將返回瓊斯先生的證書,反駁瓊斯先生的答案。

+0

tnx用於回答。可以告訴我或給我一個示例如何指定tblanswers中的哪一行與證書相關? – 2013-03-05 11:22:46

+0

編輯答案試圖使這更清晰。 – naomi 2013-03-05 11:30:30

+0

會將外鍵添加到我的表中解決此問題? – 2013-03-05 11:34:19