Problem in highlighting display data using SELECT Statement with css class
Hi...
I have query in highlighting null data using this code:
Code:
<?php
include 'config.php';
$currentEmpID = $_SESSION['empID'];
if(!isset($_POST['Regsubmit_'])){
$DATE1 = $_GET['Regfirstinput'];
$DATE2 = $_GET['Regsecondinput'];
$sql = "SELECT DISTINCT IF(ISNULL(a.LOG_IN), 'rdc', '') AS LOGIN_CLASS, IF(ISNULL(a.LOG_OUT), 'rdc', '') AS LOGOUT_CLASS, a.EMP_ID, CONCAT(LASTNAME, ', ' , FIRSTNAME) AS FULLNAME, a.LOG_IN, a.LOG_OUT
FROM $ATTENDANCE.attendance_build AS a JOIN $ADODB_DB.employment em ON (a.EMP_ID = em.EMP_NO AND em.STATUS IN ('Reg Operatives', 'Reg Staff'))
WHERE LOG_IN BETWEEN '$DATE1' AND '$DATE2'
OR ISNULL(LOG_IN) OR ISNULL(LOG_OUT)";
$DTR = $conn3->GetAll($sql);
$smarty->assign('attendance', $DTR);
}
$smarty->display('header_att.tpl');
$smarty->display('RegAttendance.tpl');
$smarty->display('footer.tpl');
?>
this code highlight the null value of login or logout or both.
this is the css:
Code:
.rdc {background-color:#ff0000;}
Now, I need to revised my query statement, because i have separate code for adding attendance if the employee has no attendance or no login or no logout.
I just want to happen is if the employee is already add his attendance in NRS table or should I said if the LOG_IN in attendance table is equal to TIME_IN in NRS table the data will have a color yellow.
I think I understand what you are trying to do but I am not 100% sure on the result you are after.
Not sure if you can directly call another IF() within an IF() but its worth a try?
Obviously you need to change the ANOTHER_QUERY to something relevant, you may even need to move it all round if I have not understood what your trying to do?
Code:
$sql = "SELECT DISTINCT
IF(ISNULL(a.LOG_IN), 'rdc', IF(ANOTHER_QUERY, 'rdc2', '')) AS LOGIN_CLASS,
IF(ISNULL(a.LOG_OUT), 'rdc', IF(ANOTHER_QUERY, 'rdc2', '')) AS LOGOUT_CLASS,
a.EMP_ID, CONCAT(LASTNAME, ', ' , FIRSTNAME) AS FULLNAME,
a.LOG_IN,
a.LOG_OUT
FROM
$ATTENDANCE.attendance_build AS a JOIN $ADODB_DB.employment em ON (a.EMP_ID = em.EMP_NO AND em.STATUS IN ('Reg Operatives', 'Reg Staff'))
WHERE
LOG_IN BETWEEN '$DATE1' AND '$DATE2' OR ISNULL(LOG_IN) OR ISNULL(LOG_OUT)";
Originally Posted by temp.user123
You know... You're not so smart. Do you need me to educate you?
If you say, "please," (and do so, nicely) then I will show you where you're dead wrong.
I think I understand what you are trying to do but I am not 100% sure on the result you are after.
Not sure if you can directly call another IF() within an IF() but its worth a try?
Obviously you need to change the ANOTHER_QUERY to something relevant, you may even need to move it all round if I have not understood what your trying to do?
Code:
$sql = "SELECT DISTINCT
IF(ISNULL(a.LOG_IN), 'rdc', IF(ANOTHER_QUERY, 'rdc2', '')) AS LOGIN_CLASS,
IF(ISNULL(a.LOG_OUT), 'rdc', IF(ANOTHER_QUERY, 'rdc2', '')) AS LOGOUT_CLASS,
a.EMP_ID, CONCAT(LASTNAME, ', ' , FIRSTNAME) AS FULLNAME,
a.LOG_IN,
a.LOG_OUT
FROM
$ATTENDANCE.attendance_build AS a JOIN $ADODB_DB.employment em ON (a.EMP_ID = em.EMP_NO AND em.STATUS IN ('Reg Operatives', 'Reg Staff'))
WHERE
LOG_IN BETWEEN '$DATE1' AND '$DATE2' OR ISNULL(LOG_IN) OR ISNULL(LOG_OUT)";
Bookmarks