Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: таблица с данными из БД и выпадающий список

 PHP.SU

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


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

> Без описания
Alex899
Отправлено: 05 Июня, 2015 - 09:28:29
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июнь 2015  


Помог: 0 раз(а)




Доброго времени.
Есть форма, в которую выводятся данные, все это выглядит в виде таблицы, возможно ли напротив каждой записи сделать выпадающий список? после в котором выбирали бы значение какое либо(из списка) и рядом появлялась кнопка "ОК" после нажатия на которую обновлялись бы данные.
Поясняю что именно надо.
Таблица такая.
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, но к сожалению я его не знаю.
заранее спасибо за помощь
 
 Top
broshurkaplus
Отправлено: 29 Июля, 2015 - 23:18:48
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




повесть яваскрипт обработчик собтия онченж на список, по изменению он будет отправлять данные на сервер, а результат вставляйте в ячейку таблицы.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB