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
Форумы портала PHP.SU :: Версия для печати :: Удаление, редактирование, добавление БД через PHP
Форумы портала PHP.SU » » Работа с СУБД » Удаление, редактирование, добавление БД через PHP

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

1. shonny - 22 Декабря, 2016 - 21:56:04 - перейти к сообщению
Cобственно сам скрипт для добавления, удаления, редактирования конкретной таблицы работает. Вопрос как это сделать для таблицы, которую мы выбрали или ввели? Пытался через форму $_POST['name_table'] передать название таблицы, передает, но при нажатии на ссылку редактировать, поля пустые, также не работают функции удаления и добавления.
PHP:
скопировать код в буфер обмена
  1. $GLOBALS['link'] = mysqli_connect("localhost", "user", "passwd", "infoip");
  2. if ( !isset( $_GET["action"] ) ) $_GET["action"] = "showlist";  
  3.  
  4. switch ( $_GET["action"] )
  5. {
  6.   case "showlist":    // Список всех записей в таблице БД
  7.     show_list(); break;
  8.   case "addform":     // Форма для добавления новой записи
  9.     get_add_item_form(); break;
  10.   case "add":         // Добавить новую запись в таблицу БД
  11.     add_item(); break;
  12.   case "editform":    // Форма для редактирования записи
  13.     get_edit_item_form(); break;
  14.   case "update":      // Обновить запись в таблице БД
  15.     update_item(); break;
  16.   case "delete":      // Удалить запись в таблице БД
  17.     delete_item(); break;
  18.   default:
  19.     show_list();
  20. }
  21.  
  22. // Функция выводит список всех записей в таблице БД
  23. function show_list()
  24. {
  25.   $query = "SELECT `id`, `IP`, `Hostname`, `Ports`, `Mac_address`, `Mac_vendor`, `date` FROM `".$_POST['name_table']."`";
  26.   $res = mysqli_query($GLOBALS['link'],$query );
  27.  // echo $_POST['name_table'];
  28.   echo '<h2>Список IP & Mask</h2>';
  29.   echo '<table border="1" cellpadding="2" cellspacing="0">';
  30.   echo '<tr><th>ID</th><th>IP & Mask</th><th>Hostname</th><th>Ports</th><th>Mac_address</th><th>Mac_vendor</th><th>Date</th><th>Редактировать</th><th>Удалить</th></tr>';
  31.   while ( $item = mysqli_fetch_array( $res ) )
  32.   {
  33.     echo '<tr>';
  34.     echo '<td>'.$item['id'].'</td>';
  35.     echo '<td>'.$item['IP'].'</td>';
  36.     echo '<td>'.$item['Hostname'].'</td>';
  37.     echo '<td>'.$item['Ports'].'</td>';
  38.     echo '<td>'.$item['Mac_address'].'</td>';
  39.     echo '<td>'.$item['Mac_vendor'].'</td>';
  40.     echo '<td>'.$item['date'].'</td>';
  41.     echo '<td><a href="'.$_SERVER['PHP_SELF'].'?action=editform&id='.$item['id'].'">Ред.</a></td>';
  42.     echo '<td><a href="'.$_SERVER['PHP_SELF'].'?action=delete&id='.$item['id'].'">Удл.</a></td>';
  43.     echo '</tr>';
  44.   }
  45.   echo '</table>';
  46.   echo '<p><a href="'.$_SERVER['PHP_SELF'].'?action=addform">Добавить</a></p>';  
  47. }
  48.  
  49. // Функция формирует форму для добавления записи в таблице БД
  50. function get_add_item_form()
  51. {
  52.   echo '<h2>Добавить</h2>';  
  53.   echo '<form name="addform" action="'.$_SERVER['PHP_SELF'].'?action=add" method="POST">';
  54.   echo '<table>';
  55.  
  56.   echo '<tr>';
  57.   echo '<td>IP</td>';
  58.   echo '<td><input type="text" name="IP" value="" /></td>';
  59.   echo '</tr>';
  60.  
  61.   echo '<tr>';
  62.   echo '<td>Hostname</td>';
  63.   echo '<td><input type="text" name="Hostname" value="" /></td>';
  64.   echo '</tr>';
  65.  
  66.   echo '<tr>';
  67.   echo '<td>Ports</td>';
  68.   echo '<td><input type="text" name="Ports" value="" /></td>';
  69.   echo '</tr>';
  70.  
  71.   echo '<tr>';
  72.   echo '<td>Mac_address</td>';
  73.   echo '<td><input type="text" name="Ports" value="" /></td>';
  74.   echo '</tr>';  
  75.  
  76.   echo '<tr>';
  77.   echo '<td>Mac_vendor</td>';
  78.   echo '<td><input type="text" name="Ports" value="" /></td>';
  79.   echo '</tr>';
  80.  
  81.   echo '<tr>';
  82.   echo '<td>date</td>';
  83.   echo '<td><input type="text" name="Ports" value="" /></td>';
  84.   echo '</tr>';
  85.  
  86.   echo '<tr>';
  87.   echo '<td><input type="submit" value="Сохранить"></td>';
  88.   echo '<td><button type="button" onClick="history.back();">Отменить</button></td>';
  89.   echo '</tr>';
  90.   echo '</table>';
  91.   echo '</form>';
  92. }
  93.  
  94. // Функция добавляет новую запись в таблицу БД  
  95. function add_item()
  96. {
  97.   $IP = mysqli_escape_string($GLOBALS['link'], $_POST['IP'] );
  98.   $Hostname = mysqli_escape_string($GLOBALS['link'], $_POST['Hostname'] );
  99.   $Ports = mysqli_escape_string($GLOBALS['link'], $_POST['Ports'] );
  100.   $Mac_address = mysqli_escape_string($GLOBALS['link'], $_POST['Mac_address'] );
  101.   $Mac_vendor = mysqli_escape_string($GLOBALS['link'], $_POST['Mac_vendor'] );
  102.   $date = mysqli_escape_string($GLOBALS['link'], $_POST['date'] );
  103.  
  104.   $query = "INSERT INTO `".$_POST['name_table']."` (IP, Hostname, Ports, Mac_address, Mac_vendor, date) VALUES ('".$IP."', '".$Hostname."', '".$Ports."', '".$Mac_address."', '".$Mac_vendor."', '".$Date."' );";
  105.   mysqli_query ($GLOBALS['link'],$query );
  106.   //header( 'Location: '.$_SERVER['PHP_SELF'] );
  107.   die();
  108. }
  109.  
  110. // Функция формирует форму для редактирования записи в таблице БД
  111. function get_edit_item_form()
  112. {
  113.   echo '<h2>Редактировать</h2>';
  114.   $query = "SELECT `id`, `IP`, `Hostname`, `Ports`, `Mac_address`, `Mac_vendor`, `date` FROM `".$_POST['name_table']."` WHERE id=".$_GET['id'];
  115.   $res = mysqli_query($GLOBALS['link'], $query );
  116.   $item = mysqli_fetch_array( $res );
  117.   echo '<form name="editform" action="'.$_SERVER['PHP_SELF'].'?action=update&id='.$_GET['id'].'" method="POST">';
  118.   echo '<table>';
  119.  
  120.   echo '<tr>';
  121.   echo '<td>IP</td>';
  122.   echo '<td><input type="text" name="IP" value="'.$item['IP'].'"></td>';
  123.   echo '</tr>';
  124.  
  125.   echo '<tr>';
  126.   echo '<td>Hostname</td>';
  127.   echo '<td><input type="text" name="Hostname" value="'.$item['Hostname'].'"></td>';
  128.   echo '</tr>';
  129.  
  130.   echo '<tr>';
  131.   echo '<td>Ports</td>';
  132.   echo '<td><input type="text" name="Ports" value="'.$item['Ports'].'"></td>';
  133.   echo '</tr>';  
  134.  
  135.   echo '<tr>';
  136.   echo '<td>Mac_address</td>';
  137.   echo '<td><input type="text" name="Mac_address" value="'.$item['Mac_address'].'"></td>';
  138.   echo '</tr>';  
  139.  
  140.   echo '<tr>';
  141.   echo '<td>Mac_vendor</td>';
  142.   echo '<td><input type="text" name="Mac_address" value="'.$item['Mac_vendor'].'"></td>';
  143.   echo '</tr>';  
  144.  
  145.   echo '<tr>';
  146.   echo '<td>date</td>';
  147.   echo '<td><input type="text" name="date" value="'.$item['date'].'"></td>';
  148.   echo '</tr>';  
  149.  
  150.   echo '<tr>';
  151.   echo '<td><input type="submit" value="Сохранить"></td>';
  152.   echo '<td><button type="button" onClick="history.back();">Отменить</button></td>';
  153.   echo '</tr>';
  154.   echo '</table>';
  155.   echo '</form>';
  156. }
  157.  
  158. // Функция обновляет запись в таблице БД  
  159. function update_item()
  160. {
  161.   $IP = mysqli_escape_string($GLOBALS['link'], $_POST['IP'] );
  162.   $Hostname = mysqli_escape_string($GLOBALS['link'], $_POST['Hostname'] );
  163.   $Ports = mysqli_escape_string($GLOBALS['link'], $_POST['Ports'] );
  164.   $Mac_address = mysqli_escape_string($GLOBALS['link'], $_POST['Mac_address'] );
  165.   $Mac_vendor = mysqli_escape_string($GLOBALS['link'], $_POST['Mac_vendor'] );
  166.   $date = mysqli_escape_string($GLOBALS['link'], $_POST['date'] );
  167.  
  168.   $query = "UPDATE `".$_POST['name_table']."` SET IP ='".$IP."', Hostname='".$Hostname."', Ports = '".$Ports."', Mac_address = '".$Mac_address."',
  169.      Mac_vendor = '".$Mac_vendor."', date = '".$date."' WHERE id=".$_GET['id'];
  170.   mysqli_query ($GLOBALS['link'], $query );
  171.   header( 'Location: '.$_SERVER['PHP_SELF'] );
  172.   die();
  173. }
  174.  
  175. // Функция удаляет запись в таблице БД
  176. function delete_item()
  177. {
  178.   $query = "DELETE FROM `".$_GET['name_table']."` WHERE id=".$_GET['id'];
  179.   mysqli_query ($GLOBALS['link'], $query );
  180.   header( 'Location: '.$_SERVER['PHP_SELF'] );
  181.   die();
  182. }
  183.  
  184. ?>

 

Powered by ExBB FM 1.0 RC1