Здравствуйте.
Пожалуйста, я в чем ошибся, что ниже приведенный код не работает, т.е. при выборе периода в таблице пусто.
// Здесь подготовливаем данные для вывода в отчете
if ($_REQUEST['period']=='280')
{
reset_filters(280);
if ($_REQUEST['period']) set_filter(230, "=", $period);
header("Location: ".$config["site_root"]."/fields.php?table=280");
}
sqlQuery = "SELECT *,sum(f250) as pros, FROM ".DATA_TABLE."280 where status=0 and f230='".$period."'"
$result = sql_query($sqlQuery);
while ($row = sql_fetch_array($result))
$lines[] = $row;
}
$smarty->assign("lines", $lines);
//Отображение:
<span class="input_element"> Выберите пероид:
<select name="period">
<option value="январьг" {if $period== 'январь'}selected{/if}>январь</option>
<option value="Февраль" {if $period== 'февраль'}selected{/if}> февраль</option>
</select>
</span>
1
Операция по выборку фильтра
Автор kaganat, 02 июля 2015 08:35
Сообщений в теме: 6
#1
Отправлено 02 Июль 2015 - 08:35
#2
Отправлено 02 Июль 2015 - 09:29
А в поле f230 что хранится? Месяцы "январь", "февраль" и т.д. или даты?
#3
Отправлено 02 Июль 2015 - 10:12
В поле f230 хранится список названии месяцев (январь, февраль и т.д.)
#4
Отправлено 02 Июль 2015 - 10:49
Тогда все правильно по сути. Правда у вас в коде полно синтаксических ошибок, например нет точки с запятой после строки запроса и открывающей фигурной скобки после строки с while
Да, и еще переменная $period нигде не определена. По идее должно быть $period = $_REQUEST['period']; Скорее всего из-за этого пустой отчет, т.к. период пустой.
Да, и еще переменная $period нигде не определена. По идее должно быть $period = $_REQUEST['period']; Скорее всего из-за этого пустой отчет, т.к. период пустой.
#5
Отправлено 02 Июль 2015 - 12:37
Спс, теперь выводит данные только за январь:
if ($_REQUEST['period']) $period= $_REQUEST['period'];
else $period = 'январь';
if ($_REQUEST['period']=='280')
{
reset_filters(280);
if ($_REQUEST['period']) set_filter(230, "=", $period);
header("Location: ".$config["site_root"]."/fields.php?table=280");
}
sqlQuery = "SELECT *,sum(f250) as pros, FROM ".DATA_TABLE."280 where status=0 and f230='".$period."'";
$result = sql_query($sqlQuery);
while ($row = sql_fetch_array($result))
{
$lines[] = $row;
}
if ($_REQUEST['period']) $period= $_REQUEST['period'];
else $period = 'январь';
if ($_REQUEST['period']=='280')
{
reset_filters(280);
if ($_REQUEST['period']) set_filter(230, "=", $period);
header("Location: ".$config["site_root"]."/fields.php?table=280");
}
sqlQuery = "SELECT *,sum(f250) as pros, FROM ".DATA_TABLE."280 where status=0 and f230='".$period."'";
$result = sql_query($sqlQuery);
while ($row = sql_fetch_array($result))
{
$lines[] = $row;
}
#6
Отправлено 02 Июль 2015 - 12:42
Если конечно установит выбор на февраль, все ровно выводить данные за январь.
#7
Отправлено 02 Июль 2015 - 16:04
А вы проверьте, что у вас $_REQUEST возвращает. Судя по тому что вы пишете, она не дает то что нужно и в $_REQUEST['period'] пусто, поэтому срабатывает else $period = 'январь';
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных