mode = $mode, submode = $submode"; //key_led_num shape key_status key_src_page_type key_src_page_num dst_page_type dst_page_num point_x point_y width height remark update_time //===========================================单个LED更新或添加===================================================== //---------------------------更新----------------------------- if($mode == 'edit' && isset($selected_led_num)){ $update_sql = "UPDATE $table_name SET shape ='$shape', key_src_page_type = '$src_page_type', key_src_page_num = '$src_page_num', dst_page_type = '$dst_page_type', dst_page_num = '$dst_page_num', point_x = '$point_x', point_y = '$point_y', remark = '$remark', sync_from_led = '$src_led' WHERE key_led_num ='$selected_led_num' "; mysqli_query($pubConn,$update_sql); if($DEBUG) echo "
update_sql = $update_sql"; echo mysqli_error($pubConn); //---------------------------添加----------------------------- }elseif($mode == 'add'){ $insert_sql = "INSERT INTO $table_name (key_led_num,shape,key_status,key_src_page_type,key_src_page_num,dst_page_type,dst_page_num,point_x,point_y,width,height,remark) VALUES ('$add_led_num','$shape','15','$src_page_type','$src_page_num','$dst_page_type','$dst_page_num','$point_x','$point_y','1','1','$remark') "; if($DEBUG) echo "
$insert_sql"; mysqli_query($pubConn,$insert_sql); echo mysqli_error($pubConn); //==================================================批量LED更新============================================================ //--------------------------设置批量更新------------------------------ }elseif($mode == 'batch' && $submode == 'move'){ $move_x = $move_x -0; $move_y = $move_y -0; if($DEBUG) echo "
sel_src_page = $sel_src_page,sel_dst_page = $sel_dst_page,sel_shape = $sel_shape,sel_status = $sel_status"; $src_page_sql = ($sel_src_page == 'on')?" key_src_page_type = '$src_page_type', key_src_page_num = '$src_page_num', ":''; $dst_page_sql = ($sel_dst_page == 'on')?" dst_page_type = '$dst_page_type', dst_page_num = '$dst_page_num', ":''; $shape_sql = ($sel_shape == 'on')?" shape ='$shape', ":''; $status_sql = ($sel_status == 'on')?" key_status ='$status', ":''; $point_sql = "point_x = (point_x + $move_x), point_y = (point_y + $move_y) "; $where_sql = "WHERE key_led_num >='$bgn_led' AND key_led_num <='$end_led'"; //-------更新原始表的状态数据------- $update_sql = "UPDATE $table_name SET ".$src_page_sql.$dst_page_sql.$shape_sql.$status_sql.$point_sql.$where_sql; mysqli_query($pubConn,$update_sql); if($DEBUG) echo "
update_sql = $update_sql"; echo mysqli_error($pubConn); //-----------更新内存表的LED状态---------- if($sel_status == 'on'){ //--更新内存表的状态数据--- $update_status_sql = "UPDATE sysLedStat SET key_status='15151515151515151515151515151515' WHERE if(key_led_num < '$divide_number',key_led_num >= FLOOR($bgn_led/16),key_led_num >= '$bgn_led') AND if(key_led_num < '$divide_number',key_led_num <= FLOOR($end_led/16),key_led_num <= '$end_led') "; mysqli_query($pubConn,$update_status_sql); if($DEBUG) echo "
update_status_sql = $update_status_sql"; echo mysqli_error($pubConn); //--标识共享内存--- //删除LED状态命令,如果命令5秒钟无响应,作为超时处理 //byte0:0/1/2/3=无命令/命令待处理/处理成功/处理失败 //byte1-4:待清除LED起始编号 //byte5-8:待清除LED结束编号 //注:LED灯编号为16进制字符,如果只删除一个LED,LED起止编号一样即可 //例如:“1000F000F”表示删除LED15 $shm_offset = 1; $bgn_led_hex = dechex($bgn_led); $bgn_led_hex = omc_keep_length($bgn_led_hex,0,4); $end_led_hex = dechex($end_led); $end_led_hex = omc_keep_length($end_led_hex,0,4); $shm_value = '1'.$bgn_led_hex.$end_led_hex; if($DEBUG) echo "
set:$shm_value"; $shm_result = omc_set_shm($shm_value,$shm_offset); if($shm_result < 0){ echo "
Set LED(from $bgn_led to $end_led) fail,Please try again[can not write share memory]"; }else{ sleep(5); $shm_count = 9; $shm_result = omc_get_shm($shm_offset,$shm_count); if($DEBUG) echo "
get:$shm_result"; $shm_result = substr($shm_result,0,1); if($shm_result != '2'){ echo "
Set LED(from $bgn_led to $end_led) fail,Please try again[return error]"; } } } //---------------------------间隔批量更新----------------------------- }elseif($mode == 'batch' && $submode == 'mid'){ for($i = $bgn_led; $i < $end_led; $i++){ $update_sql = "UPDATE $table_name SET point_x = '$bgn_x' , point_y = '$bgn_y' WHERE key_led_num ='$i' "; mysqli_query($pubConn,$update_sql); if($DEBUG) echo "
update_sql = $update_sql"; echo mysqli_error($pubConn); $bgn_x += $move_x; $bgn_y += $move_y; } } //==================================================LED列表显示============================================================ $offset = array(20480,20489,20577); function get_page_id($page_type,$page_num,$offset){ if($page_type < 50){ $type_offset = $offset[$page_type]; switch($page_type){ case 0: $page_type = "Map"; break; case 1: $page_type = "Center"; break; case 2: $page_type = "BSS"; break; default: $page_type = "unkown"; return($page_type); } $page_num = $page_num - $type_offset; $page_id = $page_type.' - '.$page_num; }else{ $sys_code = $page_type - 50; $sys_type = omc_sys_code2type($sys_code); //echo "
sys_type=$sys_type"; $sys_num = substr($page_num,0,2); $subsys_num = substr($page_num,2,2); $sys_id = $sys_type.$sys_num.'_'.$subsys_num; $page_id = $sys_id; } return($page_id); } function get_status($status_num) { $status=array('blink gray','blink green','blink yellow','blink red','blink blue','blink umbra','blink white','not use','gray','green','yellow','red','blue','umbra','white','not use'); for($i=0;$i < sizeOf($status);$i++){ if($i == $status_num){ return($status[$i]); }elseif($i == sizeOf($status)){ return('unkown'); }else{ continue; } } } //--------------------------- 初始化页面显示变量----------------------------------------- if (!$number_of_records){ $initial_record = 0;//初始纪录号 $str_sql_all = "SELECT count(*) as number_of_records FROM $table_name"; if($DEBUG)echo "
str_sql_all = $str_sql_all"; $count_result = @mysqli_query($pubConn,$str_sql_all); $count_record = @mysql_fetch_object($count_result); $number_of_records = $count_record->number_of_records; if(!$number_of_records){ echo "
$strNotFindRecord"; exit(); } $all_page_num = ceil($number_of_records / $number_records_to_display); //总页码 } $this_page_num = round($initial_record / $number_records_to_display)+1; //本页页码 //------------------------------下面是控制分页显示,传递变量------------------------------ if ($number_of_records >= 1) { //下一页的开始编号 $next_index = $initial_record + $number_records_to_display; if($next_index > $number_of_records){ $next_index = $number_of_records; } //上一页的开始编号 $prev_index = $initial_record - $number_records_to_display; if ($prev_index < 0) { $prev_index = 0; } } //上一页连接图标 if ($initial_record != 0) { $t1 = "all_page_num=$all_page_num&initial_record=$prev_index&number_of_records=$number_of_records"; $prev_img =""; $prev_img .= "\"$strPreviousPage\" "; } //下一页连接图标 if ($next_index != $number_of_records && $number_of_records >0) { $t2 = "all_page_num=$all_page_num&initial_record=$next_index&number_of_records=$number_of_records"; $next_img =""; $next_img .="\"$strNextPage\" "; } $last_num_this_page = $next_index -1; //--------------------------------列表显示----------------------------------------------- echo ""; echo "
"; echo "Records:$initial_record - $last_num_this_page of $number_of_records, Page: $this_page_num "; echo ""; echo "$prev_img $next_img"; //echo ""; //echo "$strAddLED"; echo ""; echo "$strBatchOfLEDDefineSetting"; echo ""; echo "$strBatchOfLEDClearanceSetting"; echo "
"; ?> 0){ echo ""; }else{ echo ""; } $sel_sql = "SELECT * FROM $table_name ORDER BY $sort_field $sort_direction LIMIT $initial_record, $number_records_to_display "; $result = mysqli_query($pubConn,$sel_sql); echo mysqli_error($pubConn); if($DEBUG) echo "
sel_sql = $sel_sql"; $rows = mysqli_fetch_array($result); $sel_status_sql = "SELECT key_status FROM sysLedStat WHERE if(key_led_num < '$divide_number',key_led_num >= floor($initial_record/16),key_led_num >= $initial_record) AND if(key_led_num < '$divide_number',key_led_num <= floor(($initial_record+$number_records_to_display)/16),key_led_num <= ($initial_record+$number_records_to_display)) "; $status_result = mysqli_query($pubConn,$sel_status_sql); echo mysqli_error($pubConn); if($DEBUG) echo "
sel_status_sql = $sel_status_sql"; $status_rows = mysqli_fetch_array($status_result); ?>
"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; //echo ""; echo ""; $k++; if(($led_num+1) >= $divide_number){ $status_rows = mysqli_fetch_array($status_result); }else if((($led_num+1)%16) == 0){ $status_rows = mysqli_fetch_array($status_result); } }while($rows = mysqli_fetch_array($result)); ?>
LED_ID
$led_num$status$shape$src_page_id$dst_page_id($rows[point_x],$rows[point_y])$remarkeditdel