2013-08-14 10 views
-2

PHP 코드가 어떻게되는지 모르겠습니다.PHP가 함수와 혼동 됨

나는 지금 그냥 Tabungan Tambahan 이상 1 시간을 제출할 수 있습니다 위해, 1 시간을 제출할 수 있습니다 Tabungan Wajib을 위해 잠 그려

badge_id | emp_name | month | amount | balance_type 
115201 | Greg  | August | 150000 | Tabungan Wajib 
115201 | Greg  | August | 50000 | Tabungan Tambahan 
115201 | Greg  | August | 75000 | Tabungan Tambahan 

이 (t_balance)과 같은 테이블이 있습니다.

내가 이렇게 내 코드에서 PHP를 사용

$cek_saldo = mysql_query("SELECT badge_id, month, balance_type FROM t_balance WHERE (balance_type='Tabungan Wajib' && badge_id='$badge_id' && month='August')") OR die(mysql_error());; 
$found=mysql_num_rows($cek_saldo); 
if($found > 0) 
{ 
echo "Duplicate"; 
} 
else 
    { 
    do submit data 
} 

내 코드로 일어날 모르겠어요. 그래서 내가 처음으로 타간 간 주무르기를 위해 제출한다면, 그것은 구원 받았습니다. 그러나 1 시간 넘게 Tabungan Tambahan을 제출하고 싶다면 항상 Duplicate라고 말합니다.

+0

이미 데이터베이스에 Wajib의 사본이 있기 때문에 복제본이 표시됩니다. Wajib이 제출하는 경우에만 확인해야합니다. 그렇지 않으면 다른 사람이 제출하더라도 한 번 제출 한 후 항상 중복을 말합니다. – Tiago

답변

1

데이터에 balance_type 당신이 == Tabungan Wajib를 제출하는 경우에만 쿼리를 실행

당신은 SELECT badge_id, month, balance_type FROM t_balance WHERE (balance_type='Tabungan Wajib')를 검색
+0

예제 please ... :) –

+0

if ($ balance_type == 'Tabungan Wajib') {exit ('do not can that');} – Cups

0

Tabungan Wajib 데이터베이스에 존재 않도록 당신이 어떤을 제출할 수 없을 것 데이터에 포함됩니다. balance_typeTabungan Wajib 인 경우에만 해당 쿼리를 실행해야합니다.

if ($balance_type == "Tabungan Wajib") { 
    $cek_saldo = mysql_query("SELECT badge_id, month, balance_type FROM t_balance WHERE (balance_type='Tabungan Wajib' && badge_id='$badge_id' && month='August')") OR die(mysql_error()); 
    $limit = mysql_num_rows($cek_saldo); 
} else { 
    $limit = false; 
} 

if($limit) 
{ 
    echo "Duplicate"; 
} else { 
    // do submit data 
} 
+0

시도했지만 내 마지막 코드와 동일하게 –

+0

@NoReply 어떻게 설정 하시겠습니까? '$ balance_type'? ''tabungan Wajib ''뿐만 아니라'$ balance_type'이 제출 된 데이터의 균형 유형으로 설정되어 있는지 확인해야합니다. 제출 된 데이터에 'Tabungan Wajib''만 검색하면됩니다. 예 : '$ balance_type = "Tabungan Tamahan"이 효과적입니다. –

0

난 당신이 달성하려고하는지 확신 할 수는 없지만, 코드

$found=mysql_num_rows($cek_saldo); 

이 라인은 가장 당신의 쿼리 결과, 당신에게 행의 수를 제공 0 번 행 이상. if statement이 0보다 큰지 확인합니다 (이 코드의 경우). 따라서 echo "Duplicate"; 행이 성공적으로 실행됩니다.

정확히 무엇을하려하는지에 따라 if clause의 다른 변수를 확인해야합니다.