Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не передаються GET данные в SQL запрос

27K
07 июня 2007 года
Debug_Maimouna_Burundi
5 / / 07.06.2007
Ребята, подскажите плз........
есть вот такой запрос

$sql = "select $sql_fields from public.v_show_rep_distributorcards $where";

перменная $where меняет свое значение в зависимости от условия

if ($where_sql){$where="where $where_sql";}
if ($cardlist){$where="where $cardlist_where";}

Данные не передаются, переменные пустые, возникают разные ошибки и варнинги.Таблицу выводит криво
Вроде как это не правильно. Говорят что 2 ифа подряд нельзя.
Как это победить?:confused:
274
07 июня 2007 года
Lone Wolf
1.3K / / 26.11.2006
1. весь код давай.
2. Исходники выкладуй в ББкоде code
3. А что значит where $where_sql ? что в этой переменой?
27K
07 июня 2007 года
Debug_Maimouna_Burundi
5 / / 07.06.2007
Цитата: Lone Wolf
1. весь код давай.
2. Исходники выкладуй в ББкоде code
3. А что значит where $where_sql ? что в этой переменой?



$where = 'where $where_sql' это строка которая добавляется к запросу

select $sql_fields from public.v_show_rep_distributorcards [COLOR="Red"]$where[/COLOR]

27K
07 июня 2007 года
Debug_Maimouna_Burundi
5 / / 07.06.2007
<?php
require_once './role.php'; // Current role (path) params
require_once 'template.php';
$DBCONNECT_CC_MODE = 3; // Both mode ($db_cc and $mdb2_cc)
require_once 'dbconnect_cc.php'; // Sets $mdb2_cc and/or $db_cc
require_once 'extable2.php';
require_once 'forms_pear.php'; // Default form params and includes
//if (!empty($_GET['did'])) { $did = (int)$_GET['did']; } else { $did = null; }
///////////////////////////////////////////

$links = $menu_link; // Global from template
$links += array('Новый поиск' => $self);

$pname = 'Информация по картам';

ShowHeader(array('pname' => $pname,
'links' => $links,
));

// Filter form: ////////////////////////////

//HTML_QuickForm($formName = '', $method = 'post', $action = '', $target = '_self', $attributes = NULL, $trackSubmit = FALSE)
$form =& new HTML_QuickForm('form_cardfilter', 'get', '', '_self', null, true);
$renderer = FormInitDefaults($form, 'plain'); // Set common render options etc (form_pear.php)

$form->addElement('text', 'cardlist', trans('cardlist') . ': ', $form_css);
$form->addElement('header', '', ' Фильтр по дате активации:');

$date_params = array(
'format'=>'d m Y',
'minYear'=>2006,
'maxYear'=>2016,
'addEmptyOption' => true,
'emptyOptionValue' => 0,
);

$adate_from_default = date('Y-m-d', mktime(0, 0, 0, date('n'), 1, date('Y'))); // 1st day of month
$adate_to_default = date('Y-m-d', mktime(0, 0, 0, date('n'), date('d'), date('Y')));

$form->setDefaults(array('adate_from' => $adate_from_default));
$form->addElement('date', 'adate_from', 'с ', $date_params);
$form->setDefaults(array('adate_to' => $adate_to_default));
$form->addElement('date', 'adate_to', 'по ', $date_params);
$form->addElement('submit', null, 'Вывести');
$form->display();

///////////////////////////////////////////////////////////////////////////////////////////////////////

// Tries to validate the form
if ($form->validate()) {
$form->process('ProcessFormSubmit', false);
} // if validated

function ProcessFormSubmit($params)
{
$sql_fields="cid, cvid, cvname, cvcost, cstate, did, dname as dealer, dpid, aid, acid, cactivatetime";

$wheres = array(); //заносим в массив данные которые поступают в виде "11111111-33333333"
if (!empty($_GET['cardlist']) && (is_array($_GET['adate_from']) && is_array($_GET['adate_from'])))
{
$cardlist_str = $params['cardlist'];
$cardlist_parsed = ParseCardlist($cardlist_str); //функция парсит строку
$cardlist_where = Cardlist2SQL($cardlist_parsed, 'cid'); //функция превращает строку в sql запрос
if ($cardlist_where)$wheres[]=$cardlist_where;
}
elseif(empty($_GET['cardlist']) && is_array($_GET['date_params']))
{
if ($adate_from_sql) $wheres[] = "cactivatedate >= $adate_from_sql";
if ($adate_to_sql) $wheres[] = "cactivatedate <= $adate_to_sql";
if ($did) $wheres[] = "did=$did"; //выбираем диапазон значений
}
else
{
echo "<b>Ошибка в списке карт жопа:</b><br>$cardlist_parsed";
echo $_GET['cardlist'];
print_r($_GET['adate_params']);

return;
}

$where_sql = implode(' and ', $wheres);

if ($where_sql){$where="where $where_sql";} //проверяем какое поле заполнено
if ($cardlist){$where="where $cardlist_where";} //и устанавливаем значение для WHERE

$adate_from_sql = Date_Array2Str($params['adate_from'], true); // Convert GET params into date string
if ($adate_from_sql) { $adate_from_sql = $mdb2_cc->quote($adate_from_sql, 'date'); }
$adate_to_sql = Date_Array2Str($params['adate_to'], true); // Convert GET params into date string
if ($adate_to_sql) { $adate_to_sql = $mdb2_cc->quote($adate_to_sql, 'date'); }

echo $sql;

$sql = "select $sql_fields from public.v_show_rep_distributorcards $where"; //собственно сам запрос

echo MkTable(array( //с помощью этой функции рисуеться таблица
'DB' => $db_cc,
'SQL' => $sql,
'Hidden' => $hidden_fields,
'Sorting' => 'did',
'Linked' => array(
'aid' => "act.php?aid=%aid",
'dealer' => "dealer.php?did=%did"
),
'ForceTypes' => array('sum_cvcost' => "_MONEY", 'sum_cvcost_drate' => "_MONEY"),
'Replace' => array(
'cstate' => $dbpairs_cstate,
'debug-show-sql' => true,
),
));

} // ProcessFormSubmit()

ShowFooter();

?>
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог