2016-05-25 25 views
0

フリーランサーの誰かがこのWebベースのソフトウェアを作成しました。誤って、私はコントロールパネルからすべての健康診断(私は医師のアシスタント)を削除しました。 ソフトウェアは、今私は、このエラーを与える:PHPエラーが発生しましたCodeigniter

Message: Undefined variable: data

Filename: models/gestione_model.php

Line Number: 127

A PHP Error was encountered

Severity: Warning

Message: Invalid argument supplied for foreach()

Filename: models/gestione_model.php

Line Number: 127

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: data

Filename: models/gestione_model.php

Line Number: 127

A PHP Error was encountered

Severity: Warning

Message: Invalid argument supplied for foreach()

Filename: models/gestione_model.php

Line Number: 127

私はここで27行を見つける:

public function conta_visite($s) 
{ 
    $query = $this->db->get('oggetti'); 
    if ($query->num_rows() > 0) { 
     $data = $query->result_array(); 
    } 
    $aperte = 0; 
    $chiuse = 0; 
    foreach ($data as $d) { 

     if (new DateTime() > new DateTime($d['DataVisita'])) $chiuse++; 
     else $aperte++; 
    } 

    if($s == 1) return $aperte; 
    else return $chiuse; 
} 

を誰かが私を助けてくださいことはできますか?ありがとう

答えて

0

あなたはforeachの前にIFを終了しています!

public function conta_visite($s) { 
$query = $this->db->get('oggetti'); 
if ($query->num_rows() > 0) { 
$data = $query->result_array(); 
} // HERE if result is ==0 then $data does not exist 

$aperte = 0; $chiuse = 0; foreach ($data as $d) { 

     if (new DateTime() > new DateTime($d['DataVisita'])) $chiuse++; 
     else $aperte++; 
    } 

    if($s == 1) return $aperte; 
    else return $chiuse; 
0

使用する前に$dataが設定されていることを確認する必要があります。行が返されない場合、$dataは設定されず、処理しようとするとエラーが発生します。

if ($query->num_rows() > 0) { 
    $data = $query->result_array(); 
} else { 
    //do what needs to be done if the database does not return any rows 
    $data = array(); //empty array maybe? 
} 
関連する問題