美好的一天,女士/先生。我需要與作者一起顯示所有書籍的幫助。由于有些書有 1 位作者,我需要與所有作者一起顯示這些書,但它只顯示 1 位作者使用 group by,即使這本書有 2 位或更多位作者
作者是湯姆和杰瑞,但它只顯示湯姆
表作者 表書
public function getbooks()
{
return $this->db->select('*')->from('tbl_books')
->join('tbl_section','tbl_books.section_id=tbl_section.section_id')
->join('tbl_authors','tbl_books.book_id=tbl_authors.book_id')
->group_by('tbl_authors.book_id')
->get()->result_array();
}
View:
<tbody>
<?php foreach ($booklists as $value): ?>
<tr class="odd gradeX">
<td class="center"><?php echo $value['book_id'] ?></td>
<td class="center"><?php echo $value['book_title'] ?></td>
<td class="center"><?php echo $value['section_name'] ?></td>
<td class="center"><?php echo $value['author_name'].','.$value['author_name'] ?>
</td>
<td class="center"><?php echo $value['book_serial'] ?></td>
<td class="center"><?php echo $value['book_qty'] ?></td>
<td class="center">
<a href="<?php echo base_url('Admin/Editbook/'.$value["book_id"]) ?>"><button
class="btn btn-primary"><i class="fa fa-edit "></i> Edit</button>
<a href="<?php echo base_url('Admin/Deletebook/'.$value["book_id"]) ?>"> <button
class="btn btn-danger"><i class="fa fa-trash"></i> Delete</button>
</td>
</tr>
<?php endforeach ?>
</tbody>
uj5u.com熱心網友回復:
如果我沒記錯的話,當您group_by作者的表格時,book_id您將只有一個書的結果,每個書只有一個作者姓名列。您可以使用group_concat直接附加作者姓名。
$this->db->select("*, group_concat(author_name separator ', ') as concat_names")
....
->group_by('tbl_authors.book_id')
->get()->result_array();
然后您可以使用以下方法檢索作者姓名concat_names:
<td class="center"><?php echo $value['concat_names'] ?></td>
此外,強制 PSA,您應該使用htmlspecialchar來避免跨站點腳本和以后的問題。
<td class="center"><?php echo htmlspecialchar($value['concat_names']) ?></td>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/440911.html
上一篇:查詢錯誤:子查詢回傳多于1行
