2016-05-16 2 views
-2

У меня есть это PHP и MySQL скрипт, чтобы знать, сколько у нас есть долги и общая сумма выплат долгов:Ошибка неопределенной переменной в PHP

header('Content-Type: application/json'); 
$arr[] = 0; 
$paid = 0; 
$inst = 0; 
$sql = "SELECT patient_id, sum(project_cost) as 'cost' FROM patient_info WHERE payment_type = :pt GROUP BY patient_id"; 

$stmt = $conn->prepare($sql); 
$stmt->bindValue(':pt', "installment"); 
$stmt->execute(); 

$res = $stmt->fetchAll(); 
//$count = $stmt->rowCount(); 
foreach ($res as $row) 
{ 
    $sql2 = "SELECT sum(payment) as 'Paid' FROM debt 
      WHERE patient_id = :pid"; 
    $stmt2 = $conn->prepare($sql2); 
    $stmt2->bindValue(':pid', $row['patient_id']); 
    $stmt2->execute(); 

    $res2 = $stmt2->fetchAll(); 
    foreach($res2 as $r) 
    { 

     if($row['cost'] != $r['Paid']) 
     { 
      $paid = $paid + $r['paid']; 
     } 
    } 
    $inst = $inst + $row['cost']; 
} 

$arr = array("inst" => $inst, "paid" => $paid); 

echo json_encode($arr); 

$arr возвращают в успех функции AJAX вызова.

Но что я вижу, это ошибка:

Notice: Undefined index: paid in C:\wamp\www\dentist\pages\get_total_debts.php on line 40

И я вижу результат $ инст:

enter image description here

Я попытался получить $paid внутри цикла Еогеасп, но по-прежнему получив ту же ошибку.

+7

Я думаю, что это должно быть '$ заплатил = $ заплатил + $ г [ 'Paid'] ; '(Capital P in Paid) – Thamilan

+1

вы можете поделиться линией' get_total_debts.php' страницы 40. –

+0

@Thamilan спасибо. Вот и все. Вы можете добавить его в качестве ответа. О, это было так просто. –

ответ

3

Это должно быть $paid = $paid + $r['Paid']; (Capital P в Paid)

0
if($row['cost'] != $r['Paid']) 
{ 
    $paid = $paid + $r['paid']; 
} 

Я заметил, что первый $r['Paid'] имеет капитал P. Может быть, это проблема?

1

вы должны изменить следующий код

$paid = $paid + $r['paid']; 

в

$paid = $paid + $r['Paid']; 

PHP чувствительны к регистру

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