Перенос определенной строки из одной таблицы в другую - MySQL

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток, я новичок в PHP, поэтому ожидаю, что полетит грязь с камнями. Но столкнулся с такой проблемой. У меня есть таблица в базе, куда вносятся данные с формы, располагаемой на сайте, далее эти данные выводятся сотруднику в таблицу (на его отдельной странице). Теперь сама проблема: есть второй сотрудник, которому, по выбору чекбокса из таблицы данных должна отправиться только та запись, напротив которой стоит галка. На данный момент я достиг того, что при активном чекбоксе идет копирование всех строк, а при деактивированном - не происходит отправки.
Листинг программы
  1. <?php
  2. mysql_connect("localhost", "root", "")
  3. or die("<p>Ошибка подключения к базе данных" . mysql_error() . "</p>");
  4. mysql_select_db ("amb_db")
  5. or die ("<p>Ошибка выбора базы данных" . mysql_error() . "</p>");
  6. $inser_sql = "INSERT INTO tehnolog_shirka (shirina, visota, kolvo, material, prokleika, luvers, laminat, trosovka, rezka, cvetoproba, srochno, dostavka, skleika)" .
  7. "SELECT shirina_sm, visota_sm, kolvo, materialtest, prokleika, lyvers, laminat, tros, rezka, cvetoproba, srochnost, dostavka, skleika from shirformat ORDER BY id DESC;";
  8. $ban_tkan = $_REQUEST['texnology'];
  9. if ($ban_tkan == 1) {
  10. echo 'Отправлено';
  11. mysql_query($inser_sql);
  12. }
  13. else {
  14. echo 'Вы не выбрали проект';
  15. }
  16. ?>
Вывод данных сотруднику №1
Листинг программы
  1. <?php
  2. // определяем начальные данные
  3. $db_host = 'localhost';
  4. $db_name = 'amb_db';
  5. $db_username = 'root';
  6. $db_table_to_show = 'shirformat';
  7. // соединяемся с сервером базы данных
  8. $connect_to_db = mysql_connect($db_host, $db_username, $db_password)
  9. or die("Could not connect: " . mysql_error());
  10. // подключаемся к базе данных
  11. mysql_select_db($db_name, $connect_to_db)
  12. or die("Could not select DB: " . mysql_error());
  13. // выбираем все значения из таблицы "shirformat"
  14. $qr_result = mysql_query("select * from " . $db_table_to_show)
  15. or die(mysql_error());
  16. //Выбираем материал из таблицы
  17. echo '<div id="tablenav">';
  18. // выводим на страницу сайта заголовки HTML-таблицы
  19. echo '<form action="test.php" method="post"><table>';
  20. echo '<thead>';
  21. echo '<tr>';
  22. echo '<th></th>';
  23. echo '<th colspan="4" class="borders"><h3 class="top">Данные о заказчике</h3></th>';
  24. echo '<th colspan="18"><h3 class="top">Параметры заказа</h3></th>';
  25. echo '</tr>';
  26. echo '<tr>';
  27. echo '<th><p>Дата</p></th>';
  28. echo '<th><p>ФИО клиента</p></th>';
  29. echo '<th><p>Компания</p></th>';
  30. echo '<th><p>Телефон</p></th>';
  31. echo '<th><p>E-mail</p></th>';
  32. echo '<th><p>Ширина</p></th>';
  33. echo '<th><p>Высота</p></th>';
  34. echo '<th><p>Количество</p></th>';
  35. echo '<th><p>Материал</p></th>';
  36. echo '<th><p>Проклейка</p></th>';
  37. echo '<th><p>Шаг люверсовки в см.</p></th>';
  38. echo '<th><p>Ламинация</p></th>';
  39. echo '<th><p>Тросовка</p></th>';
  40. echo '<th><p>Резка</p></th>';
  41. echo '<th><p>Цветопроба</p></th>';
  42. echo '<th><p>Срочная печать</p></th>';
  43. echo '<th><p>Доставка</p></th>';
  44. echo '<th><p>Склейка по ИЗО</p></th>';
  45. echo '<th><p>Интерьерная печать</p></th>';
  46. echo '<th><p>Псевдоинтерьерная печать</p></th>';
  47. echo '<th><p>Скидка</p></th>';
  48. echo '<th><p>Общая площадь</p></th>';
  49. echo '<th><p>Пожелания</p></th>';
  50. echo '<th>Утверждение</th>';
  51. echo '</tr>';
  52. echo '</thead>';
  53. echo '<tbody>';
  54. // выводим в HTML-таблицу все данные клиентов из таблицы MySQL
  55. while($data = mysql_fetch_array($qr_result)){
  56. echo '<tr>';
  57. echo '<td> ' . $data['date'] . '</td>';
  58. echo '<td>' . $data['fio'] . '</td>';
  59. echo '<td>' . $data['company'] . '</td>';
  60. echo '<td>' . $data['tel'] . '</td>';
  61. echo '<td>' . $data['email'] . '</td>';
  62. echo '<td>' . $data['shirina_sm'] . 'см</td>';
  63. echo '<td>' . $data['visota_sm'] . 'см</td>';
  64. echo '<td>' . $data['kolvo'] . 'шт</td>';
  65. echo '<td>' . $data['materialtest'] . '</td>';
  66. echo '<td>' . $data['prokleika'] . '</td>';
  67. echo '<td>' . $data['lyvers'] . '</td>';
  68. echo '<td>' . $data['laminat'] . '</td>';
  69. echo '<td>' . $data['tros'] . '</td>';
  70. echo '<td>' . $data['rezka'] . '</td>';
  71. echo '<td>' . $data['cvetoproba'] . '</td>';
  72. echo '<td>' . $data['srochnost'] . '</td>';
  73. echo '<td>' . $data['dostavka'] . '</td>';
  74. echo '<td>' . $data['skleika'] . '</td>';
  75. echo '<td>' . $data['interier'] . '</td>';
  76. echo '<td>' . $data['psevdointerier'] . '</td>';
  77. echo '<td>' . $data['skidka'] . '</td>';
  78. echo '<td>' . $data['ob_ploshad'] . 'кв.м</td>';
  79. echo '<td>' . $data['pojelaniya'] . '</td>';
  80. echo '<td><input class="checkbox" name="texnology" type="checkbox" value="1" id="texnology"> </td>';
  81. echo '</tr>';
  82. }
  83. echo '</tbody>';
  84. echo '</table><br /><input type="submit"></form>';
  85. echo '</div>';
  86. // закрываем соединение с сервером базы данных
  87. mysql_close($connect_to_db);
  88. ?><code lang="php" />

Решение задачи: «Перенос определенной строки из одной таблицы в другую»

textual
Листинг программы
  1.         $ban_tkan = $_REQUEST['texnology'];
  2.         if ($ban_tkan == 1) {
  3. echo 'Отправлено';
  4. $inser_sql = "INSERT INTO tehnolog_shirka (shirina, visota, kolvo, material, prokleika, luvers, laminat, trosovka, rezka, cvetoproba, srochno, dostavka, skleika)" .
  5. "SELECT shirina_sm, visota_sm, kolvo, materialtest, prokleika, lyvers, laminat, tros, rezka, cvetoproba, srochnost, dostavka, skleika  from shirformat ORDER BY id DESC;";
  6. mysql_query($inser_sql);
  7.         }
  8. else {
  9.    
  10.     echo 'Вы не выбрали проект';
  11.      
  12.      }
  13. ?>

Объяснение кода листинга программы

  1. В первую очередь, предположительно, в переменную $ban_tkan записывается значение, которое было получено через метод $_REQUEST['texnology'].
  2. Затем выполняется проверка: если $ban_tkan равно 1, то выполняется блок кода, в противном случае - другой блок.
  3. В блоке, который выполняется при условии $ban_tkan == 1, выводится сообщение 'Отправлено'.
  4. После этого формируется SQL-запрос для вставки данных в таблицу tehnolog_shirka. В запросе используется функция INSERT INTO ... SELECT, которая позволяет перенести данные из одной таблицы в другую.
  5. В запросе указываются поля таблицы tehnolog_shirka, в которые будут вставлены данные, и таблица shirformat, из которой данные будут взяты.
  6. Запрос сортируется по полю id в порядке убывания.
  7. Выполняется запрос с помощью функции mysql_query($inser_sql).
  8. В блоке, который выполняется при условии $ban_tkan != 1, выводится сообщение 'Вы не выбрали проект'.
  9. В конце кода нет никаких действий или операций, поэтому список можно считать завершенным.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы