Ошибка неопределенного смещения: 64 в codeigniter - PullRequest
0 голосов
/ 20 мая 2018

У меня была эта неопределенная проблема смещения

Обнаружена ошибка PHP

Серьезность: Уведомление

Сообщение: неопределенное смещение: 64

Имя файла: jadwal / jadwal.php

Номер строки: 150

это мой взгляд

                    <thead>
                        <tr>
                            <th>No</th>
                            <th>Sesi</th>
                            <th>Hari</th>
                            <th>Jam</th>
                            <th>Mata Pelajaran</th>
                            <th>Guru</th>                 
                        </tr>
                    </thead>
                    <tbody>
                        <?php
                            $no = 1;
                            $v = array();
                            $n = count($dataMatpel);
                            if(!empty($dataMatpel))
                            {
                                foreach($dataMatpel as $record1)
                                {
                                $mtk = $record1->bobot*2;

                                $dataGuru = $this->jadwal_model->getDataGuru1($record1->id_matpel);
                                foreach($dataGuru as $r)
                                {
                                    $arrayguru[] = $r->nama_guru;
                                    $arraymatpel[] = $r->nama_matpel;
                                    //$z[$r->id_matpel] = $r->nama_guru;
                                }
                                $len = count($arrayguru);
                                $no++;
                                }
                            }

                            foreach ($arraymatpel as $keymatpel => $value) {
                                $idguru[] = $arrayguru[$keymatpel];
                                $idmatpel[] = $arraymatpel[$keymatpel];
                                //print_r($idguru);
                            }
                            $no1 = 0;
                            $len = count($arrayguru);

                            for($x = 0; $len >= $x; $x++){
                                //echo $s[$x] = $x;
                                $s[$x] = $idguru[$x];
                                $v[$x] = $idmatpel[$x];

                            }
                            if(!empty($dataPelajaran))
                            {
                                foreach($dataPelajaran as $record)
                                {

                        ?>

                        <tr>
                            <td><?php echo $no1; ?></td>
                            <td><?php echo $record->sesi; ?></td>
                            <td><?php echo $record->hari; ?></td>                      
                            <td><?php echo $record->jam_pelajaran; ?></td> 
                            <td><?php echo $v[$no1]; ?></td>                          
                            <td><?php echo $s[$no1]; ?></td>          
                        </tr>
                        <?php
                                $no1++;
                                }
                            } 
                        ?>
                    </tbody>

и это моя модель

function getDataMatpel1()
{ 
    return $this->db->query('SELECT * FROM matpel 
                             where id_matpel <= 14 
                             ORDER BY rand()')->result();
}
function getDataGuru1($idmapel)
{ 
    return $this->db->query('SELECT * FROM guru, matpel 
                             where guru.id_matpel = matpel.id_matpel 
                             AND matpel.id_matpel = "'.$idmapel.'"')->result();
}

ошибка в строке 150 и 151, что означает код $ s [$ x] = $ idguru [$ x];и $ v [$ x] = $ idmatpel [$ x];

что это значит?

как я могу это исправить?

1 Ответ

0 голосов
/ 20 мая 2018

Вы считаете неправильную переменную массива, которую используете в цикле for.

Измените - $len = count($arrayguru); - на - $len = count($idguru);.

И вы используете неправильное условиев вашем цикле for.

Измените - $len >= $x - на - $x < $len.

Обновлен блок кода. Изменение:

   $len = count($arrayguru);

   for($x = 0; $len >= $x; $x++){
      //echo $s[$x] = $x;
      $s[$x] = $idguru[$x];
       $v[$x] = $idmatpel[$x];

   }

К:

$len = count($idguru);

for($x = 0; $x < $len; $x++){
   $s[$x] = $idguru[$x];
   $v[$x] = $idmatpel[$x];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...