getMessage()); exit(0) ; } function is_bit_set($data,$bit) { if ( $data & (1 << $bit) ) { return(true) ; } else return(false) ; } $sensors = array() ; $sname = array() ; $sql = "SELECT S_ID,S_SNAME FROM Sensors WHERE S_TYPE=101" ; $result = $db->query($sql) ; $i = 0 ; while ( $row = $result->fetch(PDO::FETCH_ASSOC) ) { $sensors[$i] = $row['S_ID'] ; $sname[$i] = $row['S_SNAME'] ; $i++ ; } $num = $i ; for ( $i = 0 ; $i < $num ; $i++ ) { $sql = "SELECT S_RATA,S_TIME FROM currentdata WHERE S_ID=".$sensors[$i] ; $result = $db->query($sql) ; $row = $result->fetch(PDO::FETCH_ASSOC) ; if ( !$row ) { echo "No data for ".$sensors[$i].PHP_EOL ; continue ; } $data = $row['S_RATA'] ; $time = $row['S_TIME'] ; $on_off = is_bit_set($data,0) ; $override = is_bit_set($data,10) ; echo "As of ".$time.", controller ".$sensors[$i]." (".$sname[$i]." is " ; if ( $on_off == true ) echo " On" ; else echo " Off" ; if ( $override ) echo " and is in OVERRIDE state" ; else echo " and is in LOCAL state" ; echo PHP_EOL ; } echo ""; ?>