2014-10-01 2 views
0

Я работаю с массивом, который дает мне всю информацию, если print_r, но также говорит, что это неопознанный индекс. Код:Неопределенное уведомление об индексе, хотя я могу получить данные

foreach ($_SESSION['passo4'] as $key => $value) { 
     $x = $data_ref[0]['tipo_refeicao']; //gives me the error 
     echo $x; //echoes 1 
     print_r($data_ref); 
     if($key != 'preco'){ 
      //Obter info do tipo de vestuário 
      $f_r = $dbh->prepare("SELECT tipo_refeicao, preco_acompanhante, preco_participante FROM refeicao WHERE id_extra = '$key'"); 
      $f_r->execute(); 
      $data_ref = $f_r->fetchAll(); 

      echo "<tr><td>". 
      datasearch($data_tref, 'tipo_refeicao', $x, 'descricao') 
      ."</td>"; 

      echo "<td>". $value ."</td>"; 

      echo "<td>". $data_ext[0]['preco'] * $value ."€</td></tr>"; 
     } 
    } 

Уведомление

Notice: Undefined offset: 0 in C:\xampp\htdocs\Rot.Aventura\eventos\passo5.php on line 96 

print_r ($ data_ref):

Array ([0] => Array ([id_refeicao] => 4 [id_evento] => 11 [tipo_refeicao] => 1 [preco_participante] => 5 [preco_acompanhante] => 6 [limite_pessoa] => 2)) 

умирают ($ х): 1

Должен ли я скрыть это уведомление с @ или есть ли способ решить это? (Извините за португальские слова)

+0

post 'print_r ($ data_ref)' чтобы увидеть его лучше – Saqueib

+0

Оставьте '[0]' вне вашего кода. – Daan

+0

Это в петле? – senK

ответ

0

Поскольку вы находитесь в цикле foreach, вам не нужно использовать индекс 0. foreach автоматическое приращение индекса, поэтому на следующий индекс 0 неопределен

Пожалуйста, попробуйте без индекса или положить $ х из цикла

foreach ($_SESSION['passo4'] as $key => $value) { 
    ... 
    $data_ref = $f_r->fetchAll(); 
    $x = $data_ref['tipo_refeicao']; //gives me the error 

или

foreach ($_SESSION['passo4'] as $key => $value) { 
... 
$x = $data_ref['tipo_refeicao']; //gives me the error 

Дайте ему попробовать

+0

Это была ошибка sql, спасибо, что не торопились ответить – SandroG

0

Проблема была связана с моим кодом:

$f_r = $dbh->prepare("SELECT tipo_refeicao, preco_acompanhante, preco_participante FROM refeicao WHERE id_extra = '$key'"); 

Где id_extra это должно быть id_refeicao. Спасибо за ваше время и помощь

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