За последние 24 часа нас посетили 20870 программистов и 1672 робота. Сейчас ищут 1104 программиста ...

Добавление и удаление через форму

Тема в разделе "PHP и базы данных", создана пользователем Satd, 5 дек 2013.

  1. Satd

    Satd Новичок

    С нами с:
    5 дек 2013
    Сообщения:
    2
    Симпатии:
    0
    Привет всем. Сделал форму с таблицей на которую выводится инфа из базы данных, потом добавил поиск по базам и сохранение новой записи в общем сделал самое легкое и прошу помощи по сложной части это редактирование и удаление записи.Например по поиску нахожу нужную строку кликаю по нему она выделяется а потом отдельно в меню на выбор удалить или редактировать эту запись, а не так чтобы напротив каждой строки были эти кнопки.Или может CMS подходящий подскажите? Надеюсь написал понятно и Вы сможете помочь вот код страницы где таблица думаю код поиска и сохранения не нужен.
    Код (Text):
    1.  
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    3.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    4. <html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
    5.   <head>
    6.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    7.     <title>Database</title>
    8.     <link type="text/css" rel="stylesheet" href="lounge.css" media="screen" />
    9.   </head>
    10. <body>
    11.     <p><img src="images/logo.png" id="branding" alt="Database" /></p>
    12.    
    13.    <title>Создание меню для сайта CSS методами</title>
    14. </head>
    15. <body>
    16. <div id="menu">
    17.     <ul>
    18.         <li><a href="lounge3.php" class="current">Главная</a></li>
    19.         <li><a href="lounge2.php">Записать</a></li>
    20.         <li><a href="#">Редактировать</a></li>
    21.         <li><a href="#">Искать</a></li>
    22.         <li><a href="#">Акты</a></li>                              
    23.     </ul>
    24. </div>
    25.  
    26. <form name="search" method="POST" action="sear1.php">
    27.     <input type="search" name="search" placeholder="Поиск"/>
    28.     <button type="submit">Найти</button>
    29. </form>
    30.  
    31.  
    32. <?php
    33.  
    34. $conn = mysql_connect("localhost", "root", "");
    35.  
    36. mysql_select_db("test", $conn);
    37.  
    38.         mysql_query ("SET NAMES utf8");
    39.         mysql_query ("set character_set_client='utf8'");
    40.         mysql_query ("set character_set_results='utf8'");
    41.         mysql_query ("set collation_connection='utf8_general_ci'");
    42.  
    43. $num = 20;
    44. @$page = $_GET['page'];
    45. $result00 = mysql_query("SELECT COUNT(*) FROM Bloki");
    46. $temp = mysql_fetch_array($result00);
    47. $posts = $temp[0];
    48. $total = (($posts - 1) / $num) + 1;
    49. $total =  intval($total);
    50. $page = intval($page);
    51. if(empty($page) or $page < 0) $page = 1;
    52. if($page > $total) $page = $total;
    53. $start = $page * $num - $num;      
    54.        
    55. $result = mysql_query("SELECT * FROM Bloki ORDER BY id LIMIT $start, $num");
    56.  
    57. print ("<table border=1 width=\"85%\" cellspacing=3 cellspadding=3 align=center>\n");
    58. print ("<tr align=center valign=top>\n");
    59. print ("<td align=center valign=top>Id</td>\n");
    60. print ("<td align=center valign=top>Организация</td>\n");
    61. print ("<td align=center valign=top>Марка</td>\n");
    62. print ("<td align=center valign=top>Гос№</td>\n");
    63. print ("<td align=center valign=top>Сим№</td>\n");
    64. print ("<td align=center valign=top>ББ№</td>\n");
    65. print ("</tr>\n");
    66.  
    67. print "<table>\n";
    68. print "</tr>\n\n";
    69. while ($row = mysql_fetch_assoc($result)){
    70.     print "<tr>\n";
    71.     foreach ($row as $col=>$val){
    72.         print "<td align=center valign=top>$val</td>\n";
    73.     }
    74.   print "</tr>\n\n";  
    75. }
    76.  
    77. print "</table>\n";
    78.  
    79.  
    80. // Проверяем нужны ли стрелки назад
    81. if ($page != 1) $pervpage = '<a href=lounge3.php?page=1>Первая</a> | <a href=lounge3.php?page='. ($page - 1) .'>Предыдущая</a> | ';
    82. // Проверяем нужны ли стрелки вперед
    83. if ($page != $total) $nextpage = ' | <a href=lounge3.php?page='. ($page + 1) .'>Следующая</a> | <a href=lounge3.php?page=' .$total. '>Последняя</a>';
    84.  
    85. // Находим две ближайшие станицы с обоих краев, если они есть
    86. if($page - 5 > 0) $page5left = ' <a href=lounge3.php?page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
    87. if($page - 4 > 0) $page4left = ' <a href=lounge3.php?page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
    88. if($page - 3 > 0) $page3left = ' <a href=lounge3.php?page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
    89. if($page - 2 > 0) $page2left = ' <a href=lounge3.php?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
    90. if($page - 1 > 0) $page1left = '<a href=lounge3.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
    91.  
    92. if($page + 5 <= $total) $page5right = ' | <a href=lounge3.php?page='. ($page + 5) .'>'. ($page + 5) .'</a>';
    93. if($page + 4 <= $total) $page4right = ' | <a href=lounge3.php?page='. ($page + 4) .'>'. ($page + 4) .'</a>';
    94. if($page + 3 <= $total) $page3right = ' | <a href=lounge3.php?page='. ($page + 3) .'>'. ($page + 3) .'</a>';
    95. if($page + 2 <= $total) $page2right = ' | <a href=lounge3.php?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
    96. if($page + 1 <= $total) $page1right = ' | <a href=lounge3.php?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
    97.  
    98. // Вывод меню если страниц больше одной
    99.  
    100. if ($total > 1)
    101. {
    102. Error_Reporting(E_ALL & ~E_NOTICE);
    103. echo "<div class=\"pstrnav\">";
    104. echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
    105. echo "</div>";
    106. }
    107.  
    108. ?>
    109.   </body>
    110. </html>
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Чекбоксами выделяешь то, что нужно выпилить, под таблицей выпадающий список с действиями, справа от него кнопка "GoGoGoMotherfucker!!!", при клике на которую для всех отмеченных строк выполняется указанное в выпадающем списке действие.

    Такой подход юзается в 99% подобных случаев. Код есть, но давать не буду, ибо учись курить инфу сам, это оч пригодится. Все что тебе нужно - научиться принимать на сервере чекбоксы.
     
  3. Satd

    Satd Новичок

    С нами с:
    5 дек 2013
    Сообщения:
    2
    Симпатии:
    0
    Спасибо за подсказку про такой подход я не думал. В случае чего я к тебе еще обращусь.
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Странно, что не думал. Мб просто ты не обращал внимания, но он встречается повсеместно :)
    Кстати хорошая практика - смотреть, как сделано у других и, если лучше сделать нельзя, делать так же, либо делать лучше, если чувствуешь в себе достаточно сил.