Конечно поменял Код (Text): $a = c("dateTime1")->date; $b = c("dateTime2")->date; $p = explode("/", $a); $ap = $p[2].'-'.$p[0].'-'.$p[1]; $j = explode("/", $b); $bj = $j[2].'-'.$j[0].'-'.$j[1];
ok piker вiводил неправильный формат 05/30/2014 я разобрал Код (Text): $p = explode("/", $a); и построил заново так Код (Text): $bj = $j[2].'-'.$j[0].'-'.$j[1]; вот и всё
согласен, вопрос по синтаксису , но если не трудно ответьте пожалуйста ках вписать переменные в запрос Код (Text): $res = $DB->query('SELECT * FROM fff WHERE dat BETWEEN $ap AND $bj ');
Всё это очень познавательно. Но я не это имел ввиду. Ты ещё предыдущую тему не закрыл а уже новую создал. (
Ну начнёмс. В переменных как я понял даты. Проверь правильно ли склеены даты. Выведи эхом и подставь результат вывода вместо переменных. Если запрос отработает. Значит бяда тут: Код (PHP): $res = $DB->query("SELECT * FROM `fff` WHERE `dat` BETWEEN '$ap' AND '$bj' "); $res = $DB->query("SELECT * FROM `fff` WHERE `dat` BETWEEN '".$ap."' AND '".$bj."' "); $res = $DB->query("SELECT * FROM `fff` WHERE `dat` BETWEEN {$ap} AND {$bj} ");
Ну вот если работает это: Код (PHP): $res = $DB->query("SELECT * FROM `fff` WHERE `dat` BETWEEN '2014-04-14' AND '2014-05-14' "); то будет работать и это: Код (PHP): $ap = "2014-04-14"; $bj = "2014-05-14"; $res = $DB->query("SELECT * FROM `fff` WHERE `dat` BETWEEN '$ap' AND '$bj' "); поэтому и надо эхом вывести значение и подставить: Код (PHP): echo $ap; echo $bj; $res = $DB->query("SELECT * FROM `fff` WHERE `dat` BETWEEN '$ap' AND '$bj' "); потому как в твоих переменных могут оказатся значения которых физически нет в таблице поэтому и результат работы запроса нулевой.
переменную поставил на echo - результат выдается , но запрос не хочет делать , в базе тож все впорядке . че за
Вот то что выдало эхо . Есть такая запись в БД? Если подставить в запрос то что выдало эхо - запрос работает? Код (PHP): echo $ap;//вывело 2014-01-01 echo $bj;// $res = $DB->query("SELECT * FROM `fff` WHERE `dat` BETWEEN '2014-01-01 ' AND '$bj' "); // подставляешь в запрос вот видишь тут с пробелом вывело Добавлено спустя 5 минут 1 секунду: потому как если $ap == "2014-01-01 " а в БД такой записи в колонке `dat` нет, то запрос возвращает 0 строк. Сам по себе запрос рабочий просто не находит условия. Понятно?
Это просто борода... Ты хочешь увидеть результаты запроса? Или что? Код (PHP): $res = $DB->query("SELECT * FROM `fff` WHERE `dat` BETWEEN '2014-01-01 ' AND '$bj' "); if ($res === false) { echo $DB->error; } else { while ($row = $res->fetch_assoc()) { echo '<pre>'; var_dump($row); echo '</pre>'; } }