PDA

View Full Version : problem in where clause to check if the date is exist in another table



newphpbees
22 Apr 2012, 11:22 PM
Hi..

I have this code for checking if the date(TIMEOUT) is already exist in nrs table:



$EMP_NO = $_GET['EMP_NO'];
$DATE_NRS = $_GET['DATE_NRS'];
$TIME_IN = strtotime($_GET['TIME_IN']);
$TIME_OUT = strtotime($_GET['TIME_OUT']);
$APPROVE = $_GET['APPROVE'];

$sql = "SELECT EMP_NO, TIME_IN, TIME_OUT, TOTAL_HOURS, NRS_STATUS FROM nrs WHERE EMP_NO = '$EMP_NO' AND DATE(TIME_OUT) = '$TIME_OUT'";

//echo $sql;
$RsOtData = $conn2->Execute($sql);

$numrows = $RsOtData->RecordCount();


if($numrows > 0){
echo "<script>alert('Transaction cannot be process')</script>";
echo "<script>navigate('NRSEmp.php')</script>";
}
else{
$saverec['EMP_NO'] = $EMP_NO;
//$saverec['DATE_NRS'] = $DATE_NRS;
$saverec['TIME_IN'] = $TIME_IN;
$saverec['TIME_OUT'] = $TIME_OUT;
$saverec['TOTAL_HOURS'] = $TOTAL_HOURS;
$saverec['NRS_STATUS'] = $APPROVE;

$insertSQL = $conn2->GetInsertSQL($RsOtData, $saverec);
$conn2->Execute($insertSQL);
}


now I need revise my query to check also if the date from $TIME_OUT is equal to reg_att .

for example of reg_att table data:

EMP_NO = 00000221
LOGIN = 2012-03-01 05:35:00
LOGOUT = 2012-03-01 13:35:00
if Date from $TIMEOUT = date(LOGOUT) if condition will work.

I trid this query


SELECT n.EMP_NO, n.TIME_IN, n.TIME_OUT, TOTAL_HOURS, NRS_STATUS FROM nrs n WHERE EMP_NO = '00000221' AND DATE(TIME_OUT) = '2012-03-01' OR DATE(TIME_OUT) = (SELECT DATE(LOGOUT) FROM reg_att r WHERE r.EMP_NO = n.EMP_NO);


and i got an error:

Error Code : 1242
Subquery returns more than 1 row
(0 ms taken)


Thank you

hxjqcrusher
23 Apr 2012, 10:41 PM
sorry, i am afraid i can not help you. i do not know either.

Cone crusher (http://www.hxjqcrusher.com/Cone-crusher.html) | Impact crusher (http://www.china-crusher.com/impact-breaker1.html)