【发布时间】:2014-12-14 18:45:44
【问题描述】:
我有一个生成关联数组的 SQL 查询,现在我需要一种方法以表格格式打印此数组
这是生成的数组:
Array ( [0] => Array (
[username] => Humza
[Reputation] => 100
[Question_Title] => Did This Work?
[Question] => Well Did it?
[Rating] => 1001
[Category] => Dr Who
[AnswerUserName] => God
[AnswerUserReputation] => -50
[Answer] => Please Work
[Answer_Rating] => 100
[AnswerCategory] => Dr Who )
现在我使用这个函数在表格中打印:
function build_table($array){
// start table
$html = '<table>';
// header row
$html .= '<tr>';
foreach($array[0] as $key=>$value){
$html .= '<th>' . $key . '</th>';
}
$html .= '</tr>';
// data rows
foreach( $array as $key=>$value){
$html .= '<tr>';
foreach($value as $key2=>$value2){
$html .= '<td>' . $value2 . '</td>';
}
$html .= '</tr>';
}
// finish table and return it
$html .= '</table>';
return $html;
}
$array = $term;
if (empty($array)) {
echo "No results could found, please try and use a different search term and remember
your searching for a question title";
}
else
{
echo build_table($array);
}
?>
但是如果数组变成这样:
Array ( [0] => Array (
[username] => Humza
[Reputation] => 100
[Question_Title] => Did This Work?
[Question] => Well Did it?
[Rating] => 1001
[Category] => Dr Who
[AnswerUserName] =>
[AnswerUserReputation] =>
[Answer] =>
[Answer_Rating] =>
[AnswerCategory] => )
如何在表格中打印以上内容?基本上它只会显示问题而不是答案。因为我的搜索工具应该能够搜索问题并显示它们,无论他们是否有答案。
目前它不会显示任何没有答案的问题,因此完全错过了它们
这是模型:
function __construct()
{
parent::__construct();
$this->load->database();
}
function GuestSearch($Term)
{
/*This will print out the Question Title, Question, Username and Rating atm*/
$sql2 = "SELECT u.username,
r.Reputation,
q.Question_Title,
q.Question,
q.Rating,
c.Category,
ua.username as AnswerUserName,
ar.Reputation as AnswerUserReputation,
a.Answer,
a.Answer_Rating,
ac.Category as AnswerCategory
FROM Questions q
join Users u on u.id = q.User_ID
join Answers a on a.Question_ID = q.Question_ID
join Users ua on ua.id = a.Answer_User_ID
join Reputation r on r.User_Rep_ID = u.id
join Categorys c on c.Category_ID = q.Category_ID
join Categorys ac on ac.Category_ID = q.Category_ID
join Reputation ar on ar.User_Rep_ID = a.Answer_User_ID
WHERE q.Question_Title LIKE '%$Term%'";
$results = $this->db->query($sql2);
$data = $results->result_array();
$results->free_result();
return $data;
}
}
?>
【问题讨论】:
-
我重新阅读了问题,请编辑您的问题,以便更容易理解。再次形成你的问题。更好的是,添加模型和负责的方法来生成数组。
-
我已经添加了模型和负责的方法来生成它刚刚发生的数组,问题可能出在方法中
-
尝试编辑查询而不是
WHEREputAND; -
我刚做了,没有任何区别,它根本不会显示我的第三个问题,它没有附加答案。
标签: php html arrays codeigniter