Наконец, в этой функции мы выполняем запрос и затем проверяем, возвратил ли он какие-нибудь строки. Если возвращенных строк нет, мы очищаем окно результатов с помощью метода clear(), а затем помещаем текст No Results в первую колонку. Если есть результаты, которые можно показать, мы обходим все результаты, добавляя каждый в экземпляр GtkCList с помощью метода append (), который принимает массив значений для строки:
Sresult = mysql_query($sql) or die(mysql_error()); if (! mysql_num_rows($result)) {
$no_results = arrayC'No Results.", "", "", .............. , "", "");
$widgets['search']['result_list']->clear();
$widgets['search']['result_list']->prepend($no_results);
mD else 1
$widgets['search']['result_list']->clear(); while (f.rcw = mysql_fetch_array($result)) { $insert_array = array($row['book_title'], $row['auth_name'], $row[' ISBN' ], $row[' book_series' ], $ row[' num_of^books' ], number_format($row[ 'price'], 2)); $widgets['search'][' result_list']->append($insert_array);
>
>
}
Функция dotogin() применяется для аутентификации пользователей при щелчке по кнопке Log in на первой странице. Начнем с определения четырех переменных с глобальной областью видимости: $windows и Swidgets для доступа к уже созданным графическим элементам, $сопп для идентификатора соединения с MySQL и $disconnect_id. По значению $сопп будем проверять, установлено ли уже соединение с MySQL. Если соединения нет, мы его создаем и выбираем базу данных:
function {
GLOBAL {windows; GLOBAL Swidgets; GLOBAL $conn; GLOBAL $disconnect_id;
if (!$conn) {
$conn = mysql_connect('localhost' , 'user', 'pass'); mysql_select_db('library');
I
После этого получаем имя пользователя и пароль из окон GtkEntry на форме, снова с помощью метода get _text ():
Jusername = $widgets['main']['login_name']->get_text(); Spassword = $widgets['main']['login_pass']->get_text();
Строим запрос SQL и отправляем его MySQL, записывая указатель результатов в переменную Sresult. Затем отключаем обработчик сигнала destroy для окна main. Если вспомнить, в loadMainWindow() мы устанавливаем область видимости $disconnect_id глобальной, как в начале этой функции. Причина в том, что метод disconnect) принимает один аргумент, являющийся значением, которое возвращает метод connect(), и для хранения его использовали переменную $disconnect_id. Затем мы уничтожаем главное окно.
Наконец, мы должны проверить, был ли аутентифицирован пользователь. Проверяем результат, и если он равен то загружаем страницу поиска. Если возвращен результат false, то выходим из программы, отправив на консоль сообщение Authentication failed: