aquo;clubs.id=events.eclubevents.gort=gorts.idevents.frcountry=frcountrys.idevents.tocountry=tocountrys.id »; (! Empty ($ club_id) && $ club_id! =« ANY »)
$ query.=«AND events.eclub =« $ club_id » »; (! Empty ($ range))
$ query.=«AND events.edate> =« $ range [0] »events.edate <=« $ range [1] » »; (! Empty ($ gort) && $ gort! =« ANY »)
$ query.=«AND events.gort =« $ gort » »; (! Empty ($ frcountry) && $ frcountry! =« ANY »)
$ query.=«AND events.frcountry =« $ frcountry » »; (! Empty ($ tocountry) && $ tocountry! =« ANY »)
$ query.=«AND events.tocountry =« $ tocountry » »;
$ query.=«ORDER BY events.edate»;
$ result=mysql_query ($ query, $ link); (! $ result) («getIDevents fatal error:». mysql_error ());
$ ret=array (); ($ row=mysql_fetch_array ($ result)) _push ($ ret, $ row); $ ret;
}
Хоча ця функція називається getEvents (), вона не тільки виводить таблицю пропозицій. Крім того їй передається чотири аргументи: ідентифікатор компанії, інтервал часу у вигляді масиву з двох значень абсолютного часу, країна завантаження і країна розвантаження. Всі ці аргументи необов'язкові і можуть бути замінені нулем або логічним значенням false, якщо немає бажання передавати їх в SQL-запиті. Велика частина функції динамічно створює SQL-запити відповідно до переданих аргументами. Основний запит об'єднує всі таблиці в базі даних, передаючи в запиті назва компанії, країну завантаження і країну розвантаження. Ці значення будуть включені в кінцевий результат.
Після цього в запиті передаються додаткові умови, в залежності від того, які аргументи встановлені в нуль. Параметри $ type і $ area будуть проігноровані, якщо вони містять рядок «ANY».
На практиці це означає, що чим більше аргументів буде передано такої функції, тим меншим буде повертаний набір даних. За відсутності аргументів ця функція поверне всі існуючі пропозиції. Якщо буде передана змінна $ club_id, то будуть повернуті тільки пропозиції заданої компанії. Якщо ж буде передано масив $ range, то будуть повернуті пропозиції, час яких знаходиться в переданому діапазоні.
Нарешті, запит пересилається і повернутий результат записується в багатовимірний масив.
Після отримання цього масиву як результату виклику функції getEvents (), можна його зчитувати. Зчитується кожне поле edate, форматуючи дату за допомогою функції date (). Після цього створюється посилання на сторінку viewevent.php, що містить розширену інформацію про пропозицію. Для цього створюється рядок запиту, в якій пересилається ідентифікатор пропозиції та константа SID. У даному циклі також створюється HTML-посилання на сторінку viewclub.php, передаючи рядок запиту, що містить ідентифікатор компанії і константу SID.
Далі виводиться країна завантаження і країна розвантаження.
Раніше використовувалася функція під назвою html () при виведенні користувачами даних про пропозиції у скороченій формі. Викликається функція html () при зчитуванні пропозицій в тілі циклу функції writeEvent (). Ця функція визначається користувачем і знаходиться в бібліотеці clublib.inc. Цій функції переда...