Lipetsk *nix Association Forum
Новости
:
Начало
Помощь
Поиск
Войти
Регистрация
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
23 Ноября 2024, 20:28:15
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Light Blue
Light Navy
Light Silver
Light Turquoise
Light Green
Light Olive
Light Golden
Light Brown
Light Red
Light Rose
Light Lilac
Light Violet
Lipetsk *nix Association Forum
>
Общие вопросы
>
Программирование
> Тема:
как сделать сложный mysql запрос
(Модератор:
IERO
) > Тема:
Сообщение #9912
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: как сделать сложный mysql запрос (Прочитано 21310 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
wrag
Небритый одмин
Карма: 0
Сообщений: 673
Re: как сделать сложный mysql запрос
«
:
31 Мая 2008, 16:01:06 »
в общем я так понял что для сборки динамического сложного запроса надо собрать сначала строку которая будет вставлена после слова where
проверяем длину переменных затем собираем часть строки с одной переменной
если такая не поступила то зануляем ее чтоб не мешалась
с другими переменными тоже составляем часть строки по аналогии
if (length($calling) > 3) {$s1="CALLING_DN="."%"."$calling"."%"} else {$s1=""};
if (length($called) > 3) {$s2="and "."CALLED_DN="."%"."$called"."%"} else {$s2=""};
if (length($begindate) > 8 ) {$s3="and "."DATE>="."$begindate"} else {$s3=""};
if (length($enddate) > 8 ) {$s4="and "."DATE<="."$enddate"} else {$s4=""};
if (length($begintime) > 8 ) {$s5="and "."TIME>="."$begintime"} else {$s5=""};
if (length($endtime) > 8 ) {$s6="and "."TIME<="."$endtime"} else {$s6=""};
собираем строку
$where=$s1.$s2.$s3.$s4.$s5.$s6;
проверяем что у нас собралось
print $where;
выполняем запрос к базе
my $query = "SELECT 1DATE, 1TIME, CALLING_DN, CALLED_DN, RELEASE_ from observ WHERE \"$where\" ";
Записан
живущий в консоли
начальник отдела системотехники Люцифеp
Страниц: [
1
]
Вверх
Печать
Lipetsk *nix Association Forum
>
Общие вопросы
>
Программирование
> Тема:
как сделать сложный mysql запрос
(Модератор:
IERO
) > Тема:
Сообщение #9912
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Общие вопросы
-----------------------------
=> Железные вопросы
===> Барахолка
=> Администрирование
=> Никсовые окошки
=> Мультимедиа
=> Программирование
=> Wine
=> Игры
=> Новобранцам
=> Проект "Линукс в школы"
=> Поиск
===> Качалка
=> Флейм
===> Новости
===> Хумор
=> Зарабатывай с Линукс!
-----------------------------
Дистрибутивы
-----------------------------
=> Основанные на Red Hat
===> Open SuSe
=> Основанные на Debian
=> Другие
-----------------------------
Сайт и форум
-----------------------------
=> О проекте
===> Сборы
===> Обсуждение FAQ
=> Пожелания и предложения
=> BugTrack
Загружается...