Не отрабатывет условие проверки GET переменных
Здравствуйте. Не могу понять в чем моя ошибка
Есть функция, которая аякс запросом получает данные function GetOrders(action, status, fromTime, toTime, workId, serviceID, companyID, fromHour, toHour) { var html = $.ajax( { url: "request.php?action=" + action + "&status=" + status + "&fromTime=" + fromTime + "&toTime=" + toTime + "&workId=" + workId + "&serviceID=" + serviceID + "&companyID=" + companyID + "&warehouseID=" + warehouseID + "&fromHour=" + fromHour + "&toHour=" + toHour + "", dataType: 'json', async: false, success: function (data) { }, error: function (req, err) {} }).responseText; return (html); } Есть также обработка запроса $link = mysql_connect($hostname, $username, $password) or die('Не удалось соединиться: ' . mysql_error()); mysql_select_db($dbName) or die('Не удалось выбрать базу данных'); $status = $_GET['status']; $fromTime = $_GET['fromTime']; $toTime = $_GET['toTime']; $workId = $_GET['workId']; $serviceID = $_GET['serviceID']; $companyID = $_GET['companyID']; $warehouseID = $_GET['warehouseID']; $fromHour = $_GET['fromHour']; $toHour = $_GET['toHour']; if (($fromHour != "") && ($toHour != "")) { $fromTime = $fromTime.' '.$fromHour.':00:00'; $toTime = $toTime.' '.$toHour.':00:00'; } //else //{ //$fromTime .= ' 00:00:00'; //$toTime .= ' 23:00:00'; //} // отменённые/выполненные заказы за сутки(по часам) if ($action == "getCountOnHours") { $rows = array(); $query = 'SELECT hours.h AS HOUR , COUNT(orders.id) AS count FROM orders '; if ($companyID != 0) $query .= 'JOIN works ON (orders.cid = works.cid) AND (works.uid IN ('.$companyID.'))'; if ($serviceID != 0) $query .= 'JOIN services ON (orders.serviceID = services.id) AND (services.id IN('.$serviceID.'))'; if ($workId != 0) $query .= 'JOIN workCloud ON (orders.cid = workCloud.id) AND (workCloud.id IN('.$workId .'))'; if ($warehouseID != 0) $query .= 'JOIN warehouses ON (orders.warehouseID = warehouses.id) AND (warehouses.id IN('.$warehouseID.'))'; //$query .= 'RIGHT JOIN hours ON hours.h = HOUR(date_add(orders.closeTime, INTERVAL orders.timeOffset second)) AND '; $query .= 'RIGHT JOIN hours ON hours.h = HOUR(DATE_SUB(DATE_ADD( orders.closeTime, INTERVAL orders.timeOffset SECOND), INTERVAL orders.settlementPeriod HOUR )) '; if (($fromHour != "") && ($toHour != "")) { $query .= ' AND AND (DATE_ADD(orders.closeTime, INTERVAL orders.timeOffset SECOND ) BETWEEN "'.$fromTime.'" AND "'.$toTime.'")'; } else { $query .= ' AND (DATE_ADD(orders.closeTime, INTERVAL orders.timeOffset SECOND ) BETWEEN date_add("'.$fromTime.' 00:00:00", interval orders.settlementPeriod hour) AND date_add("'.$toTime.' 23:59:59", interval orders.settlementPeriod hour))'; } /*if (($fromHour != "") && ($toHour != "")) $query .= '(date_add(orders.closeTime, INTERVAL orders.timeOffset second) BETWEEN "'.$fromTime.'" AND "'.$toTime.'")'; else $query .= '(date_add(orders.closeTime, INTERVAL orders.timeOffset second) BETWEEN "'.$fromTime.' 00:00:00" AND "'.$toTime.' 23:00:00")';*/ $query .= ' AND (orders.status IN( '.$status.' )) GROUP BY HOUR'; $result = mysql_query($query) or die('Запрос не удался: ' . mysql_error()); while ($row = mysql_fetch_array($result)) { $rows[] = $row; } echo json_encode($rows); } Изменил на неправильный запрос в части if (($fromHour != "") && ($toHour != "")) { $query .= ' AND AND (DATE_ADD(orders.closeTime, INTERVAL orders.timeOffset SECOND ) BETWEEN "'.$fromTime.'" AND "'.$toTime.'")'; } чтобы наверняка не выполнился при $fromHour != "" $toHour != "". Но никак при указанных fromHour и toHour туда не "заходит" какие бы параметры не указывал. Пробовал и так http://test/order_diagramm.php?graph=orders&fromTime=2013-11-29&fromHour=00&toTime=2013-11-29&toHour=23&companyID=1 и так http://test/order_diagramm.php?graph=orders&fromTime=2013-11-29&fromHour=&toTime=2013-11-29&toHour=&companyID=1 Но всегда выполняется так, как-будто значения fromHour и toHour не указаны. Причем если менять другие параметры, то все отрабатывает, загвоздка именно на этих параметрах. Подскажите в чем дело. Заранее спасибо |
Цитата:
Посмотри чему равны переменные $fromHour, $toHour после их прочтения... |
Часовой пояс GMT +3, время: 02:31. |