因此,我正在爲用戶構建一個應用程序,以便能夠將遊樂設施上載到網站並使其可以被其他用戶查看。唯一的問題是,我的控制器顯然是不正常推變量的觀點讓我有讀取錯誤:CodeIgniter不會將變量推送到視圖
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: ridesArray
Filename: views/rides.php
Line Number: 93
我不太確定我在做什麼錯,但這裏是代碼。另外,因爲我知道它會被問到,是的,我的模型正在返回真實的數據。此外,視圖中的var_dump()返回null。而ridesArray()函數只是一個用從模型中收集的信息製作一個整潔的數組的工具。這裏的問題是變量沒有被髮送到視圖
更新:我已經添加了函數ridesArray()的代碼。此外,我忘了提,我也收到此錯誤:
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: views/rides.php
Line Number: 96
控制器:
function index(){
$userrides = $this->RidesModel->getAllRides();
$rideData = $this->ridesArray($userrides);
$ridesArray = array('ridesArray' => $rideData);
$this->load->view('rides', $ridesArray);
}
function ridesArray($data){
$newarray = array();
foreach($data as $object){
$array = json_decode(json_encode($object), true);
$id = (int)$array['id'];
$title = $array['title'];
$date = $array['date'];
$ridetime = $array['ridetime'];
$saddress = $array['StartAddress'];
$scity = $array['StartCity'];
$sstate = $array['StartState'];
$szip = $array['StartZip'];
$ezip = $array['EndZipcode'];
$ecity = $array['EndCity'];
$image = $array['image'];
$newdata = array(
'id' => $id,
'title' => $title,
'date' => $date,
'ridetime' => $ridetime,
'StartAddress' => $saddress,
'StartCity' => $scity,
'StartState' => $sstate,
'StartZip' => $szip,
'EndZipcode' => $ezip,
'EndCity' => $ecity,
'image' => $image
);
array_push($newarray, $newdata);
}
return $newarray;
}
型號:
function getAllRides(){
$sql = "select * from rides order by date";
$query = $this->db->query($sql);
$result = $query->result();
return $result;
}
查看:
<div class="container col-lg-12 col-md-12 col-sm-12 user-cont">
<ul class="container col-lg-10 col-md-10 col-sm-10 col-lg-offset-1 col-md-offset-1 col-sm-offset-1">
<?php
var_dump($ridesArray);
if(isset($ridesArray)){
foreach($ridesArray as $out){
echo "<li>";
echo "<h3>".$out['title']."</h3>";
echo "<img class='img-responsive img-thumbnail' src=". base_url(). "uploads/".$out['image']."/>";
echo "<p>".$out['date']." At ".$out['ridetime']. "</p>";
echo "<p>Starts At ".$out['StartAddress']." ".$out['StartCity']." ".$out['StartZip']." "."</p>";
echo "<p>Ends At ".$out['EndCity']." ".$out['EndZipode']."</p>";
echo "<span class='glyphicon glyphicon-plus'></span>";
echo "</li>";
}
}
?>
</ul>
那麼,如果你這樣做呢? '$ data ['ridesArray'] = $ rideData; $ this-> load-> view('rides',$ data);' – Sparky
try $ result = $ query-> result_array(); –