PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 3
Alex899 Отправлено: 05 Июня, 2015 - 09:28:29 • Тема: таблица с данными из БД и выпадающий список • Форум: HTTP и PHP

Ответов: 1
Просмотров: 1214
Доброго времени.
Есть форма, в которую выводятся данные, все это выглядит в виде таблицы, возможно ли напротив каждой записи сделать выпадающий список? после в котором выбирали бы значение какое либо(из списка) и рядом появлялась кнопка "ОК" после нажатия на которую обновлялись бы данные.
Поясняю что именно надо.
Таблица такая.
Id | описание | Фамилия | Должность | Корпус | этаж | кабинет | статус

все эти данные берутся из mysql, только последняя колонка "Статус" пустая. возможно ли сделать рядом с ней выпадающий список, типа ( в ожидании \ в работе \ выполнено ) при выборе одного из этого значения, чтобы рядом появлялась кнопка "ОК" и при нажатии обновлялись данные в бд ?
Ах да, данные должны обновляться именно напротив той записи, где "нарисован" этот список.
получается напротив каждой записи будут списки эти.
Код формы вывода данных из БД (в начале - пагинация, в конце - вывод данных)
PHP:
скопировать код в буфер обмена
  1. <?PHP  require_once 'scripts/connect.php'?>
  2. <?
  3.  
  4. function get2set ($key='', $val='') { // функция перевода переменных $_GET в массив, с учетом поправки
  5.     $set = array();
  6.     $set = $_GET;
  7.     if ( !empty($key) && is_array($set) ) {
  8.         if ( is_array($key) ) {
  9.             if ( count($key)>0 ) {
  10.                 foreach ( $key as $k=>$v ) if ( empty($v) ) unset($set[$k]); else $set[$k] = $v;
  11.             }
  12.         } else {
  13.             if ( empty($val) ) unset($set[$key]); else $set[$key] = $val;
  14.         }
  15.     }
  16.     return $set;
  17. }
  18.  
  19. function get2str ($key='', $val='') { // функция перевода переменных $_GET в строку, с учетом поправки
  20.     $set = get2set($key, $val);
  21.     if ( count($set)>0 ) {
  22.         foreach ($set as $k=>$v) $set[$k] = $k."=".urlencode($v);
  23.         return "?".implode("&",$set);
  24.     }
  25. }
  26.  
  27. function pages ($total, $p, $pp=10) { // функция вывода страниц
  28.   $pages = array ();
  29.   $tpages = ceil ($total/$pp); // колличество страниц
  30.   $bpage = $p - 10; if ($bpage<1) $bpage = 1;
  31.   $epage = $p + 10; if ($epage>$tpages) $epage = $tpages;
  32.  
  33.   if ( $p>1 ) $pages[] = '<a href="' . $_SERVER['PHP_SELF'] . get2str("p", 1) . '">в начало</a>';
  34.   for ( $i=$bpage; $i<=$epage; $i++ ) $pages[] = ( $i==$p ) ? '<b>'.$i.'</b>' : '<a href="' . $_SERVER['PHP_SELF'] . get2str("p", $i) . '">'.$i.'</a>';
  35.   if ( $p<$tpages ) $pages[] = '<a href="' . $_SERVER['PHP_SELF'] . get2str("p", $tpages) . '">в конец</a>';
  36.  
  37.   if ( count($pages)>0 ) echo '<p>'.implode (' | ',$pages).'</p>';
  38. }
  39.  
  40. $p = (int) $_GET['p']; if ($p<1) $p=1; // текущая страница
  41. $pp = 15; // колличество результатов на одной странице
  42. $start = ($p-1)*$pp; // начальная позиция выборки строк результата запроса
  43.  
  44.  
  45. $sql = "SELECT COUNT(*) FROM zayavki";
  46. $r = mysql_query($sql);
  47. $total = mysql_result($r,0,0); // общее колличество результатов без разбиения на строки
  48.  
  49. $sql = "SELECT * FROM zayavki LIMIT ".$start.", ".$pp;
  50. $r = mysql_query($sql);
  51.  echo '<table border="1">';
  52.   echo '<thead>';
  53.   echo '<tr>';
  54.   echo '<th>№</th>';
  55.   echo '<th>Описание</th>';
  56.   echo '<th>Фамилия заказчика</th>';
  57.   echo '<th>Должность</th>';
  58.   echo '<th>Корпус</th>';
  59.   echo '<th>Этаж</th>';
  60.   echo '<th>Кабинет</th>';
  61.   echo '<th>Статус</th>';
  62.   echo '</tr>';
  63.   echo '</thead>';
  64.   echo '<tbody>';
  65.  
  66. while ( $ar=mysql_fetch_array($r) ) {
  67.     /* здесь идет вывод данных */
  68.  
  69.  
  70.    // выводим в HTML-таблицу все данные клиентов из таблицы MySQL
  71.     echo '<tr>';
  72.     echo '<td>' . $ar['id'] . '</td>';
  73.     echo '<td>' . $ar['opis'] . '</td>';
  74.     echo '<td>' . $ar['fio'] . '</td>';
  75.     echo '<td>' . $ar['dolj'] . '</td>';
  76.     echo '<td>' . $ar['korp'] . '</td>';
  77.     echo '<td>' . $ar['etaj'] . '</td>';
  78.     echo '<td>' . $ar['kab'] . '</td>';
  79.     echo '<td>' . '<a href="test2.php?edit='.$ar['id'].'>"'. $ar['opis'].'</a>изменить'  . '</td>';
  80. //    echo ;
  81.  
  82.     echo '</tr>';
  83. }
  84.  
  85.  
  86. echo "</table>";
  87.  
  88. pages($total, $p, $pp); // вывод страниц
  89. ?>

знаю что можно сделать на AJAX, но к сожалению я его не знаю.
заранее спасибо за помощь
Alex899 Отправлено: 02 Июня, 2015 - 10:40:34 • Тема: выводимые данные из БД, в виде ссылки • Форум: Вопросы новичков

Ответов: 3
Просмотров: 209
Спасибо большое!
Alex899 Отправлено: 02 Июня, 2015 - 07:20:56 • Тема: выводимые данные из БД, в виде ссылки • Форум: Вопросы новичков

Ответов: 3
Просмотров: 209
Добрый день, подскажите новичку, у меня есть БД(mysql), из нее выводятся данные, на форму php.
Хочу сделать чтобы выводимые данные были в виде ссылок, ну или рядом с каждой записью сделать кнопку на изменение именно конкретной записи(напротив которой стоит кнопка), подскажите как сделать эту "кнопку" и так чтобы она имела отношение именно к конкретной записи, и как сделать дальше, чтобы открывалась форма на изменение этой записи.
Врубиться не могу как сделать.
Код вывода данных приведен ниже.
PHP:
скопировать код в буфер обмена
  1. <?PHP  require_once 'scripts/connect.php'?>
  2. <?
  3.  
  4. function get2set ($key='', $val='') { // функция перевода переменных $_GET в массив, с учетом поправки
  5.         $set = array();
  6.         $set = $_GET;
  7.         if ( !empty($key) && is_array($set) ) {
  8.                 if ( is_array($key) ) {
  9.                         if ( count($key)>0 ) {
  10.                                 foreach ( $key as $k=>$v ) if ( empty($v) ) unset($set[$k]); else $set[$k] = $v;
  11.                         }
  12.                 } else {
  13.                         if ( empty($val) ) unset($set[$key]); else $set[$key] = $val;
  14.                 }
  15.         }
  16.         return $set;
  17. }
  18.  
  19. function get2str ($key='', $val='') { // функция перевода переменных $_GET в строку, с учетом поправки
  20.         $set = get2set($key, $val);
  21.         if ( count($set)>0 ) {
  22.                 foreach ($set as $k=>$v) $set[$k] = $k."=".urlencode($v);
  23.                 return "?".implode("&",$set);
  24.         }
  25. }
  26.  
  27. function pages ($total, $p, $pp=10) { // функция вывода страниц
  28.   $pages = array ();
  29.   $tpages = ceil ($total/$pp); // колличество страниц
  30.   $bpage = $p - 10; if ($bpage<1) $bpage = 1;
  31.   $epage = $p + 10; if ($epage>$tpages) $epage = $tpages;
  32.  
  33.   if ( $p>1 ) $pages[] = '<a href="' . $_SERVER['PHP_SELF'] . get2str("p", 1) . '">в начало</a>';
  34.   for ( $i=$bpage; $i<=$epage; $i++ ) $pages[] = ( $i==$p ) ? '<b>'.$i.'</b>' : '<a href="' . $_SERVER['PHP_SELF'] . get2str("p", $i) . '">'.$i.'</a>';
  35.   if ( $p<$tpages ) $pages[] = '<a href="' . $_SERVER['PHP_SELF'] . get2str("p", $tpages) . '">в конец</a>';
  36.  
  37.   if ( count($pages)>0 ) echo '<p>'.implode (' | ',$pages).'</p>';
  38. }
  39.  
  40. $p = (int) $_GET['p']; if ($p<1) $p=1; // текущая страница
  41. $pp = 15; // колличество результатов на одной странице
  42. $start = ($p-1)*$pp; // начальная позиция выборки строк результата запроса
  43.  
  44.  
  45. $sql = "SELECT COUNT(*) FROM zayavki";
  46. $r = mysql_query($sql);
  47. $total = mysql_result($r,0,0); // общее колличество результатов без разбиения на строки
  48.  
  49. $sql = "SELECT * FROM zayavki LIMIT ".$start.", ".$pp;
  50. $r = mysql_query($sql);
  51.  echo '<table border="1">';
  52.   echo '<thead>';
  53.   echo '<tr>';
  54.   echo '<th>№</th>';
  55.   echo '<th>Описание</th>';
  56.   echo '<th>Фамилия заказчика</th>';
  57.   echo '<th>Должность</th>';
  58.   echo '<th>Корпус</th>';
  59.   echo '<th>Этаж</th>';
  60.   echo '<th>Кабинет</th>';
  61.   echo '<th>Статус</th>';
  62.   echo '</tr>';
  63.   echo '</thead>';
  64.   echo '<tbody>';
  65.  
  66. while ( $ar=mysql_fetch_array($r) ) {
  67.         /* здесь идет вывод данных */
  68.  
  69.  
  70.    // выводим в HTML-таблицу все данные клиентов из таблицы MySQL
  71.     echo '<tr>';
  72.     echo '<td>' . $ar['id'] . '</td>';
  73.     echo '<td>' . $ar['opis'] . '</td>';
  74.     echo '<td>' . $ar['fio'] . '</td>';
  75.         echo '<td>' . $ar['dolj'] . '</td>';
  76.         echo '<td>' . $ar['korp'] . '</td>';
  77.         echo '<td>' . $ar['etaj'] . '</td>';
  78.         echo '<td>' . $ar['kab'] . '</td>';
  79.         echo '<td>' . $ar['stats'] . '</td>';
  80.     echo '</tr>';
  81. }
  82.  
  83.  
  84. echo "</table>";
  85.  
  86. pages($total, $p, $pp); // вывод страниц
  87. ?>

В самом начале кода - пангинация. Данные выводятся в таблицу, в конце кода.
Заранее спасибо тем, кто поможет Улыбка

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB