русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Выбор строк из таблицы


Дата добавления: 2015-07-09; просмотров: 1453; Нарушение авторских прав


После выбора имени таблицы и подтверждения ввода управление передается скрипту view_form.php. Результат работы скрипта показан на рисунке:

Рис. 3. Страница вывода таблицы


Из таблицы PHOUSE скрипт выбрал все строки и отобразил в виде таблицы. Левая колонка таблицы служит для указания текущей строки в списке строк.

 

Код скрипта view_form.php:

 

<?php
#view_form.php

include( "check.inc" );
include( "var.inc" );

// получаем имя таблицы, переданное в запросе
$table = $_REQUEST["table"];

// формируем текст запроса
$sql = "select * from ".$table.";";

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" dir="ltr">
<head>
<title>Выберите таблицу</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>

<?php

echo '<form name="list_data" action="edit_form.php" method="post">';

addVar( "table", $table );

// формируем список управляющих кнопок
// проверяем, пустая ли таблица
if( isempty_data( $sql ) ) {

// если таблица пустая, то в кнопках "Удалить" и "Редактировать"
// нет нужды
addVar( "cntrow", 0 );
// добавляем на форму управляющие кнопки
out_list_buttons("doaction", 0);

} else {

addVar( "cntrow", 1 );
// добавляем на форму управляющие кнопки
out_list_buttons("doaction", 1);
}

// выводим список строк таблицы
out_data_list( "keyvalue", "keyname", $sql, 1000 );

echo '</form>';



// добавляем на форму управляющие кнопки
function out_list_buttons(
$name, // имя переменной, куда будет сохранено заданное значение,
// в зависимости от выбранной кнопки
$cntrow // если параметр <= 0, то кнопки "Изменить строку" и
// "Удалить строку" не добавляем
) {

addVar( $name, "-1" );
echo '<br>';
echo button_with_act( "add", "Добавить строку", "1", $name );
if( $cntrow > 0 ) {
echo button_with_act( "edit", "Изменить строку", "2", $name );
echo button_with_act( "del", "Удалить строку", "3" , $name);
}
echo button_with_act( "choosetab", "Выбрать таблицу повторно", "4" , $name);

}

// выводим на форму содержимое таблицы в виде списка
function out_data_list(
$name, // имя переменной, в которую будет присваиваться значение ключа
// текущегй строки таблицы
$keysavename, // имя переменной на клиентской странице
// в которой будет хранится название ключевого поля
$sql, // текст SQL-запроса
$cntrow // максимальное число строк в результате запроса
) {

try {
// выполняем запрос

$ar = get_result( $sql, $cntrow );
} catch (Exception $e) {
// обрабатываем ошибку
// выведем сообщение об ошибке
echo $e->getMessage();
// завершаем генерацию страницы
exit;
}

// формируем строку заголовков
// выводим в заголовки имена полей
echo '<table border="1" >';
echo "<tr>\n";
echo "<td> </td>\n";
foreach( $ar[0] as $val ) {
echo "<td> " . $val[fname] ."</td>\n";
}
echo "</tr>\n";
$i = 0;

// проходим по всем строкам
foreach( $ar[1] as $res ) {
echo "<tr>\n";

// создаем колонку, в которой будет находится индикатор
// текущей строки
echo '<td><input type=radio name="'.$name.'" value = '.$res[0];

if( $i == 0 ) {
// по умолчанию индикатор на первой строке
echo " checked ";
$i++;
}
echo '></td>';
// формируем значения колонок для строки
foreach( $res as $var ) {
echo "<td>" . $var ."</td>\n";
}
}
echo "</tr>\n";
echo '</table>';
// добавляем на клиентскую страницу переменную с именем ключевого
// поля
addVar( $keysavename, $ar[0][0][fname] );

}

?>
</body>
</html>

 

Имя таблицы получаем из элемента «table» в массиве $_REQUEST. При помощи функции isempty_data определяется, какие кнопки нужны для работы с данными. В случае непустой таблицы это кнопки: «Добавить строку», «Изменить строку», «Удалить строку», «Выбрать таблицу повторно». Для пустой таблицы присутствуют только кнопки «Добавить строку» и «Выбрать таблицу повторно».

Код для кнопок создается вызовом функции button_with_act, в этой функции указывается, какой переменной должно быть присвоено значение при нажатии данной кнопки, а также само значение. Это значение можно будет прочитать из скрипта - обработчика формы (скрипт edit_form.php). В нашем случае по этому значению (переменная «doaction») определяется, какие действия следует предпринять в скрипте – обработчике.

Собственно список строк таблицы выводится функцией out_data_list. Первая колонка содержит индикатор (радио-кнопка), позволяющий выбрать текущую строку. С каждым полем индикатора связано значение ключа соответствующей строки таблицы. Это значение помещается в переменную «keyvalue» и доступно в скрипте – обработчике формы. Помимо переменной «keyvalue» задается значение переменной «keysavename», которая содержит имя ключевого поля таблицы.



<== предыдущая лекция | следующая лекция ==>
Страница для выбора таблицы | Форма редактирования


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.149 сек.