2010-10-09 3 views
0

Эй им с помощью CodeIgniter и я получил эту ошибкуЕогеасп ошибка с CodeIgniter

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

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

Сообщение: Undefined переменной: запрос

Имя файла: Вид/nyheder_view.php

Номер строки: 2 Ошибка PHP возникла

Серьезность: Предупреждение

сообщение: Недействительный аргумент для Еогеасп()

Имя файла: Вид/nyheder_view.php

Порядковый номер: 2

мой контроллер:

<?php 

class Nyheder extends Controller { 

function index() 
    { 
    $data['content'] = 'nyheder_view'; 
    $this->load->view('includes/template', $data); 

    } 

function vis() 
{ 
    //parent::controller(); 
    $this->load->model('nyheder_model'); 
    $data['query'] = $this->nyheder_model->load_nyheder(); 

    $this->load->view('nyheder_view', $data); 

} 
} 
?> 

мой вид

<?php foreach($query as $row) : ?> 
<h1><?php echo $row->overskrift; ?></h1> 
<p><?php echo $row->indhold; ?></p> 
<?php endforeach;?> 
+0

Пожалуйста, покажите нам 'nyheder_model'. – Mischa

+0

Как и другие предложили, ваш $ this-> nyheder_model-> load_nyheder(); должен возвращать значение null или false. – stef

ответ

1

Я не вижу в этом ничего плохого. Не могли бы вы поставить эту строку в только перед загрузкой вашего nyheader_view:

die(var_export($data)); 

И дайте нам знать, что вы видите.

1

Я бы предположил, что $ this-> nyheder_model-> load_nyheder() возвращает false или null.

попробуйте var_dump ($ this-> nyheder_model-> load_nyheder()) перед загрузкой вашего представления.

Возможно, проблема с запросом sql в вашей модели nyheder?

0

Я согласен, что проблема, вероятно, где-то в вашей модели ... или, может быть, это что-то еще более очевидным, как вариант базы данных не активируется ... Попробуйте:

function __construct(){ 
      parent::Controller(); 

      $this->load->database(); 
    } 
0

нормально будет догадаться, что load_nyheder() либо возвращая объект или массив поэтому проверить сантехнику сначала жестко прописывать и массив что-то как-нибудь так:

$data['query'] = array(
      'keystr1' => 'valuestr1', 
      'keystr2' => 'valuestr2', 
      'keystr3' => 'valuestr3' 
         ); 
$this->load->view('nyheder_view', $data); 

NB: Если поместить объект в $ данных он будет преобразован в массив ,

Затем на вашем взгляде «nyheder_view» сделать что-то больше, как это:

<?php foreach($query as $someKey=>$someValue):?> 
    <h1><?php echo $someKey; ?></h1> 
    <p><?php echo $someValue; ?></p> 
<?php endforeach;?> 

Получить все это работает с закодированным тестом (арматура) данными, а затем попытаться кормить $ данных [ «запрос»] с вашим вашим load_nyheder() и посмотреть, есть ли у вас похожие проблемы. Таким образом, вы знаете, где проблема.

-1

Попробуйте это, я думаю, что вам не хватает результата() после запроса $ ...

<?php foreach($query->result() as $row) : ?> 
    <h1><?php echo $row->overskrift; ?></h1> 
    <p><?php echo $row->indhold; ?></p> 
<?php endforeach;?> 
+0

Вы просто вызываете result() по неопределенной переменной, которая ничего не решит – stef

Смежные вопросы