這裏是笨的簡單例子與架構:
<?php
$this->db->select('*'); // select all columns
$this->db->from('Category'); // FROM table
$this->db->join('Items', 'Items.item_cat = Category.cat_id'); // INNER JOIN
$query = $this->db->get(); // GET RESULT
?>
爲了得到結果,你可以使用兩種方法,要麼想在物體形式或陣列的數據。
陣列,使用result_array()
方法,如:
$result = $query->result_array();
echo "<pre>";
print_r($result); // will print all data in array
在對象,使用result()
方法,如:
$result = $query->result();
echo "<pre>";
print_r($result); // will print all data in object
現在,您可以進行排序,只要你想:
$newArray = array();
foreach ($result as $key => $value) {
$newArray[$value['cat_name']][] = $value; // sort as per category name
}
print_r($newArray); // will print all data against each category.
現在打印您所需的結果爲:
foreach ($newArray as $key => $value) {
echo $key."<br/>"; // print Category Name
foreach ($value as $final_value) {
echo $final_value['item_name']."<br/>"; // print all items against category
}
}
Query Builder Class探索的文檔,這將幫助你更瞭解,你怎麼能利用INNER
或LEFT
加入CI。
是'item_cat'一樣'cat_id'?因爲你需要在這兩個表中有一個相同的列才能夠加入它們。我認爲你在兩個表中都有相同的名稱用於相同的列,這樣會更容易理解代碼:) –
是的,這是相同。我可以加入表格,但我想回顯此類別中的第一類別和所有項目,而不是第二類別和第二類別中的所有項目 – Pecooou
並且您想要在列表中回顯數據? –