0 レビュー
3 回答
php-未定義の変数、データコードイグナイターのフェッチ中にインデックスエラーが発生しました
ログイン後にユーザーのダッシュボードページに表示されるテーブルから別のテーブルにデータをフェッチしています。
しかし、インデックスに問題があり、次のエラーが発生しました:
これが回線エラーです:
これが私のコードです:
私のビューファイル( "usuario"):
<thead>
<th>id</th>
<th>User</th>
<th>Subject</th>
<th>Grade</th>
<th>Date</th>
</thead>
<tbody>
<?php
if (count($records) > 0 && $records != false) {
foreach($records as $record) {
echo "<tr>
<td>".$record['id']."</td>
<td>".$record['User']."</td>
<td>".$record['name']."</td>
<td>".$record['grade']."</td>
<td>".$record['date']."</td>
</tr>";
}
}
?>
</tbody>
</body>
</html>
コントローラファイル(「ログイン」):
public function home(){
$data['record']=$this->m_login->getDetails();
$this->load->view('usuario',$data);
}
私のモデルファイル( "m_login"):
public function getDetails()
{
$st=$this->db->SELECT('cursadas.*, usuarios.name as usuarios, materias.name as materias_name')->from('cursadas')
->join('usuarios','usuarios.id=cursadas.user_id')
->join('materias','materias.id=cursadas.subject_id')
->WHERE('cursadas.user_id=',$this->session->userdata['id'])
->get()->result_array();
return $st[0];
}
わからない
0
レビュー
答え :
解決策:
変数$records
が表示されていますが、コントローラーにはありません
変更
$data['record'] = $this->m_login->getDetails();
宛先
// add this array() just in case no results found
$data['records'] = array();
$data['records'] = $this->m_login->getDetails();
$this->load->view('usuario', $data);
別の方法はコントローラー上にあります
$results = $this->m_login->getDetails();
$data['records'] = array();
if ($results) {
foreach ($results as $result) {
$data['records'][] = array(
'id' => $result['id'],
'User' => $result['User'],
'name' => $result['name'],
'grade' => $result['grade'],
'date' => $result['date']
);
}
}
$this->load->view('usuario',$data);
表示
<?php if($records){?>
<?php foreach($records as $ record){?>
<?php echo $ record ['id'];?>
<?php echo $ record ['User'];?>
<?php echo $ record ['name'];?>
<?php echo $ record ['grade'];?>
<?php echo $ record ['date'];?>
<?php}?>
<?php} else {?>
結果が見つかりません
<?php}?>
答えへのリンク
わからない
0 レビュー
答え :
解決策:
コントローラのアレイインデックスが間違っています。
これを変更する
$data['record']=$this->m_login->getDetails();
から
$data['records']=$this->m_login->getDetails();
答えへのリンク
わからない
0 レビュー
答え :
解決策:
result_array()returnは配列を含む結果を返すため、次のようにする必要があります-
if (count($record) > 0 && $record != false) {
foreach($record as $rec){
echo "<tr>
<td>".$rec['id']."</td>
<td>".$rec['User']."</td>
<td>".$rec['name']."</td>
<td>".$rec['grade']."</td>
<td>".$rec['date']."</td>
</tr>";
}
}
上記のコードからこれを確認し、問題があればコメントしてください
答えへのリンク
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。