![](/img/trans.png)
[英]How to get data from database that result as an array in model codeigniter
[英]Codeigniter - How to retrieve specific data on view after getting result array from model
因此,這是模型Publicationdata
中的函數,該函數根據控制器提供的作者ID將結果數組發送到控制器->
public function getSpPubData($tId)
{
$this->db->order_by("pub_year", "desc");
$q = $this->db->get_where('rsc_faculty_publications', array('pub_author_id' => $tId));
$error = $q->num_rows() > 0 ? FALSE : TRUE;
if ($error === FALSE)
{
return $q->result();
}
else{
return $error;
}
}
現在在控制器上我將數組另存為
$data['pubData'] = $this->Publicationdata->getSpPubData("10006);
當我在視圖上訪問$pubData
時, rsc_faulty_publications
表中的字段pub_year
..現在正在顯示。我想按年打印出版物。 當當前年份的出版物排在最前時,它們將以循環方式打印..所以我想要的是通過循環從$pubData
獲取年度出版物。
<?php
for($i=0;$i<sizeof($pubData);$i++){ ?>
<div class="panel panel-info">
<div class="panel-heading" data-toggle="collapse" data-parent="#accordion<?php echo $pubData[$i]->pub_year; ?>" href="#year<?php echo $pubData[$i]->pub_year; ?>" title="Click to expand/collapse">
<h4 class="panel-title">Publication Year: <?php echo $pubData[$i]->pub_year; if($pubData[$i]->pub_year==date('Y')){echo " (".sizeof($pubData)." Publications until now)";}?></h4>
</div>
<div id="year<?php echo $pubData[$i]->pub_year; ?>" class="panel-collapse collapse">
<div class="panel-body">
<?php while($pubData[$i]->pub_year==$pubData[$i+1]->pub_year){
?>
<div class="well well-info">
<p><?php echo $pubData[$i]->pub_title; ?></p>
<p><?php echo $pubData[$i]->pub_authors; ?></p>
<p><?php echo $pubData[$i]->pub_publisher; ?></p>
</div>
<?php
}?>
</div>
</div>
</div>
<?php } ?>
首先將視圖文件加載到控制器中並傳遞數據。
$this->load->view('view_file', $data);
在視圖文件中使用以下代碼來檢索數據。
foreach($pubData->brands as $brand): ?>
從模型獲取值后,說$ data ['value'] = $ this-> model1-> getValue(); 現在,您可以將獲取的值傳遞給$ this-> load-> view('viewpagename',$ data);這樣的頁面。
現在,在視圖頁面中,您可以使用傳遞的.ie值數組名稱輕松訪問它。 因此,在視圖頁面中執行foreach($ value as $ val){在此處打印您想要的內容}
終於自己解決了。.應該用這個問題標記引導程序..但這不是因為SO PPL很喜歡投票!
<?php $i=0;
$n=0;
$brands = array('info','warning','primary','success');
$len=sizeof($pubData);
while($i<$len){ ?>
<?php if($i==0||$i-1!==-1 && $pubData[$i]->pub_year!==$pubData[$i-1]->pub_year){ ?>
<div class="panel panel-<?php echo $brands[$n];?>">
<div class="panel-heading" data-toggle="collapse" data-parent="#accordion1" href="#year<?php echo $pubData[$i]->pub_year; ?>" title="Click to expand/collapse">
<h4 class="panel-title">Publication Year: <?php echo $pubData[$i]->pub_year; if($pubData[$i]->pub_year==date('Y')){echo " (".sizeof($pubData)." Publications until now)";}?></h4>
</div>
<div id="year<?php echo $pubData[$i]->pub_year; ?>" class="panel-collapse collapse">
<div class="panel-body">
<?php
}?>
<div class="well well-<?php echo $brands[$n];?>">
<p><?php echo $pubData[$i]->pub_title; ?></p>
<p><?php echo $pubData[$i]->pub_authors; ?></p>
<p><?php echo $pubData[$i]->pub_publisher; ?></p>
</div>
<?php if($i==$len-1 || $i+1!==$len && $pubData[$i]->pub_year!==$pubData[$i+1]->pub_year){
if($n==3){$n=0;}else{$n++;} ?>
</div>
</div>
</div >
<?php } $i++;
} ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.