PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (1): [1]
Найдено сообщений: 3
Alex899
Отправлено: 05 Июня, 2015 - 09:28:29 • Тема: таблица с данными из БД и выпадающий список • Форум: HTTP и PHP
Ответов: 1 Просмотров: 1214
Доброго времени.
Есть форма, в которую выводятся данные, все это выглядит в виде таблицы, возможно ли напротив каждой записи сделать выпадающий список? после в котором выбирали бы значение какое либо(из списка) и рядом появлялась кнопка "ОК" после нажатия на которую обновлялись бы данные.
Поясняю что именно надо.
Таблица такая.
Id | описание | Фамилия | Должность | Корпус | этаж | кабинет | статус
все эти данные берутся из mysql, только последняя колонка "Статус" пустая. возможно ли сделать рядом с ней выпадающий список, типа ( в ожидании \ в работе \ выполнено ) при выборе одного из этого значения, чтобы рядом появлялась кнопка "ОК" и при нажатии обновлялись данные в бд ?
Ах да, данные должны обновляться именно напротив той записи, где "нарисован" этот список.
получается напротив каждой записи будут списки эти.
Код формы вывода данных из БД (в начале - пагинация, в конце - вывод данных)
PHP:
скопировать код в буфер обмена
<?PHP require_once 'scripts/connect.php' ?>
<?
function get2set ( $key = '' , $val = '' ) { // функция перевода переменных $_GET в массив, с учетом поправки
$set = $_GET ;
foreach ( $key as $k => $v ) if ( empty ( $v ) ) unset ( $set [ $k ] ) ; else $set [ $k ] = $v ; }
} else {
if ( empty ( $val ) ) unset ( $set [ $key ] ) ; else $set [ $key ] = $val ; }
}
return $set ;
}
function get2str ( $key = '' , $val = '' ) { // функция перевода переменных $_GET в строку, с учетом поправки
$set = get2set( $key , $val ) ;
foreach ( $set as $k => $v ) $set [ $k ] = $k . "=" . urlencode ( $v ) ; }
}
function pages ( $total , $p , $pp = 10 ) { // функция вывода страниц
$tpages = ceil ( $total / $pp ) ; // колличество страниц $bpage = $p - 10 ; if ( $bpage < 1) $bpage = 1 ;
$epage = $p + 10 ; if ( $epage > $tpages ) $epage = $tpages ;
if ( $p > 1 ) $pages [ ] = '<a href="' . $_SERVER [ 'PHP_SELF' ] . get2str( "p" , 1 ) . '">в начало</a>' ;
for ( $i = $bpage ; $i <= $epage ; $i ++ ) $pages [ ] = ( $i == $p ) ? '<b>' . $i . '</b>' : '<a href="' . $_SERVER [ 'PHP_SELF' ] . get2str( "p" , $i ) . '">' . $i . '</a>' ;
if ( $p < $tpages ) $pages [ ] = '<a href="' . $_SERVER [ 'PHP_SELF' ] . get2str( "p" , $tpages ) . '">в конец</a>' ;
if ( count ( $pages ) > 0
) echo '<p>' . implode ( ' | ' , $pages ) . '</p>' ; }
$p = ( int) $_GET [ 'p' ] ; if ( $p < 1) $p = 1 ; // текущая страница
$pp = 15 ; // колличество результатов на одной странице
$start = ( $p - 1) * $pp ; // начальная позиция выборки строк результата запроса
$sql = "SELECT COUNT(*) FROM zayavki" ;
$total = mysql_result ( $r , 0
, 0
) ; // общее колличество результатов без разбиения на строки
$sql = "SELECT * FROM zayavki LIMIT " . $start . ", " . $pp ;
echo '<table border="1">' ;
echo '<thead>' ;
echo '<tr>' ;
echo '<th>№</th>' ;
echo '<th>Описание</th>' ;
echo '<th>Фамилия заказчика</th>' ;
echo '<th>Должность</th>' ;
echo '<th>Корпус</th>' ;
echo '<th>Этаж</th>' ;
echo '<th>Кабинет</th>' ;
echo '<th>Статус</th>' ;
echo '</tr>' ;
echo '</thead>' ;
echo '<tbody>' ;
/* здесь идет вывод данных */
// выводим в HTML-таблицу все данные клиентов из таблицы MySQL
echo '<tr>' ;
echo '<td>' . $ar [ 'id' ] . '</td>' ;
echo '<td>' . $ar [ 'opis' ] . '</td>' ;
echo '<td>' . $ar [ 'fio' ] . '</td>' ;
echo '<td>' . $ar [ 'dolj' ] . '</td>' ;
echo '<td>' . $ar [ 'korp' ] . '</td>' ;
echo '<td>' . $ar [ 'etaj' ] . '</td>' ;
echo '<td>' . $ar [ 'kab' ] . '</td>' ;
echo '<td>' . '<a href="test2.php?edit=' . $ar [ 'id' ] . '>"' . $ar [ 'opis' ] . '</a>изменить' . '</td>' ;
// echo ;
echo '</tr>' ;
}
echo "</table>" ;
pages( $total , $p , $pp ) ; // вывод страниц
?>
знаю что можно сделать на AJAX, но к сожалению я его не знаю.
заранее спасибо за помощь
Alex899
Отправлено: 02 Июня, 2015 - 07:20:56 • Тема: выводимые данные из БД, в виде ссылки • Форум: Вопросы новичков
Ответов: 3 Просмотров: 209
Добрый день, подскажите новичку, у меня есть БД(mysql), из нее выводятся данные, на форму php.
Хочу сделать чтобы выводимые данные были в виде ссылок, ну или рядом с каждой записью сделать кнопку на изменение именно конкретной записи(напротив которой стоит кнопка), подскажите как сделать эту "кнопку" и так чтобы она имела отношение именно к конкретной записи, и как сделать дальше, чтобы открывалась форма на изменение этой записи.
Врубиться не могу как сделать.
Код вывода данных приведен ниже.
PHP:
скопировать код в буфер обмена
<?PHP require_once 'scripts/connect.php' ?>
<?
function get2set ( $key = '' , $val = '' ) { // функция перевода переменных $_GET в массив, с учетом поправки
$set = $_GET ;
foreach ( $key as $k => $v ) if ( empty ( $v ) ) unset ( $set [ $k ] ) ; else $set [ $k ] = $v ; }
} else {
if ( empty ( $val ) ) unset ( $set [ $key ] ) ; else $set [ $key ] = $val ; }
}
return $set ;
}
function get2str ( $key = '' , $val = '' ) { // функция перевода переменных $_GET в строку, с учетом поправки
$set = get2set( $key , $val ) ;
foreach ( $set as $k => $v ) $set [ $k ] = $k . "=" . urlencode ( $v ) ; }
}
function pages ( $total , $p , $pp = 10 ) { // функция вывода страниц
$tpages = ceil ( $total / $pp ) ; // колличество страниц $bpage = $p - 10 ; if ( $bpage < 1) $bpage = 1 ;
$epage = $p + 10 ; if ( $epage > $tpages ) $epage = $tpages ;
if ( $p > 1 ) $pages [ ] = '<a href="' . $_SERVER [ 'PHP_SELF' ] . get2str( "p" , 1 ) . '">в начало</a>' ;
for ( $i = $bpage ; $i <= $epage ; $i ++ ) $pages [ ] = ( $i == $p ) ? '<b>' . $i . '</b>' : '<a href="' . $_SERVER [ 'PHP_SELF' ] . get2str( "p" , $i ) . '">' . $i . '</a>' ;
if ( $p < $tpages ) $pages [ ] = '<a href="' . $_SERVER [ 'PHP_SELF' ] . get2str( "p" , $tpages ) . '">в конец</a>' ;
if ( count ( $pages ) > 0
) echo '<p>' . implode ( ' | ' , $pages ) . '</p>' ; }
$p = ( int) $_GET [ 'p' ] ; if ( $p < 1) $p = 1 ; // текущая страница
$pp = 15 ; // колличество результатов на одной странице
$start = ( $p - 1) * $pp ; // начальная позиция выборки строк результата запроса
$sql = "SELECT COUNT(*) FROM zayavki" ;
$total = mysql_result ( $r , 0
, 0
) ; // общее колличество результатов без разбиения на строки
$sql = "SELECT * FROM zayavki LIMIT " . $start . ", " . $pp ;
echo '<table border="1">' ;
echo '<thead>' ;
echo '<tr>' ;
echo '<th>№</th>' ;
echo '<th>Описание</th>' ;
echo '<th>Фамилия заказчика</th>' ;
echo '<th>Должность</th>' ;
echo '<th>Корпус</th>' ;
echo '<th>Этаж</th>' ;
echo '<th>Кабинет</th>' ;
echo '<th>Статус</th>' ;
echo '</tr>' ;
echo '</thead>' ;
echo '<tbody>' ;
/* здесь идет вывод данных */
// выводим в HTML-таблицу все данные клиентов из таблицы MySQL
echo '<tr>' ;
echo '<td>' . $ar [ 'id' ] . '</td>' ;
echo '<td>' . $ar [ 'opis' ] . '</td>' ;
echo '<td>' . $ar [ 'fio' ] . '</td>' ;
echo '<td>' . $ar [ 'dolj' ] . '</td>' ;
echo '<td>' . $ar [ 'korp' ] . '</td>' ;
echo '<td>' . $ar [ 'etaj' ] . '</td>' ;
echo '<td>' . $ar [ 'kab' ] . '</td>' ;
echo '<td>' . $ar [ 'stats' ] . '</td>' ;
echo '</tr>' ;
}
echo "</table>" ;
pages( $total , $p , $pp ) ; // вывод страниц
?>
В самом начале кода - пангинация. Данные выводятся в таблицу, в конце кода.
Заранее спасибо тем, кто поможет
Страниц (1): [1]
Powered by ExBB FM 1.0 RC1. InvisionExBB