powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / удаление строк из БД отмеченных чекбоксами
8 сообщений из 8, страница 1 из 1
удаление строк из БД отмеченных чекбоксами
    #38116737
vovik78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Предупрежу сразу - совсем чайник, только начинаю разбираться с БД и РНР.
Суть проблемы:
- есть код ввода новых сообщений в БД и вывода из нее. (Сделано по уроку от сюда: http://www.wellsait.ru/form.html)
Все в подряде, работает.
Но теперь возникла потребность организовать удаление отмеченных чекбоксами сообщений из БД.
Теоретически, я понимаю, что нужно каждому чекбоксу присвоить Имя = ID соответствующей строки БД и потом организовать запрос на удаление отмеченных.
Перерыл весь яндекс по этому вопросу - но все для меня как то коротко и не понятно. Тем более,, что все это делалось в Adobe Dreamweaver и код создавался автоматически.
Был бы очень признателен за добавление нужных строк кода к Моему сформированному, да еще и с комментариями - Дабы разобраться и больше не мучить никого с этим вопросом.
И я уверен, что многим потом это еще пригодится.
Исходный код:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
<?php require_once('Connections/DrimWiver.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}





}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO tabl01 (name, mail, tel, message) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['name'], "text"),
                       GetSQLValueString($_POST['mail'], "text"),
                       GetSQLValueString($_POST['tel'], "text"),
                       GetSQLValueString($_POST['massage'], "text"));

  mysql_select_db($database_DrimWiver, $DrimWiver);
  $Result1 = mysql_query($insertSQL, $DrimWiver) or die(mysql_error());

  $insertGoTo = "massage.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header("Location: $insertGoTo");
}

mysql_select_db($database_DrimWiver, $DrimWiver);
$query_Recordset1 = "SELECT * FROM tabl01";
$Recordset1 = mysql_query($query_Recordset1, $DrimWiver) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
<link href="CSS/forma otpravki.css" rel="stylesheet" type="text/css" />
</head>

<body>
<form id="form1" name="form1" method="POST" action="<?php echo $editFormAction; ?>">
  <p>
          <input name="name" type="text" class="text_pole" id="name" value="Имя"/>
  </p>
  <p>
    <input name="tel" type="text" class="text_pole" id="tel" value="Телефон"/>
  </p>
  <p>
      <input name="mail" type="text" class="text_pole" id="mail" value="E-Mail"/> 
  </p>
  <p>
    <textarea name="massage" class="text_pole" id="massage">Сообщение</textarea>
  </p>
  <p>
    <input name="send" type="submit" class="text_pole" id="send" value="Отправить" />
    <input type="reset" name="Delit" id="Delit" value="Очистить" />
  </p>
<p>&nbsp;</p>
<input type="hidden" name="MM_insert" value="form1" />
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<?php do { ?>
  <table width="901" border="1">
    <tr>
      <td width="145" bgcolor="#EB92DB">№ <?php echo $row_Recordset1['id']; ?></td>
      <td width="251">Имя: <?php echo $row_Recordset1['name']; ?></td>
      <td width="193">Тел: <?php echo $row_Recordset1['tel']; ?></td>
      <td width="262">Почта: <?php echo $row_Recordset1['mail']; ?></td>
      <td width="20"><form id="form2" name="form2" method="post" action="">
        <label>
          <input name="del" type="checkbox" id="del" />
        </label>
      </form></td>
    </tr>
    <tr>
      <td>Дата: <?php echo $row_Recordset1['data']; ?></td>
      <td colspan="4">Сообщение: <?php echo $row_Recordset1['message']; ?></td>
    </tr>
  </table>
  <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
<p>&nbsp;</p>
<form id="form3" name="form3" method="post" action="">
  <input name="del2" type="button" id="del2" value="Удалить" />
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>

</body>
</html>
<?php
mysql_free_result($Recordset1);

?>
...
Рейтинг: 0 / 0
удаление строк из БД отмеченных чекбоксами
    #38116812
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чекбоксы - это точно не MySQL.

Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
удаление строк из БД отмеченных чекбоксами
    #38116829
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovik78только начинаю разбираться с БД и РНР.
vovik78все это делалось в Adobe Dreamweaver и код создавался автоматически.Начните с основ работы PHP. Начните с составления алгоритма и написания кода руками. Видимо, попутно придется освоить работу с HTML-формами и, хотя бы, основы HTTP.

vovik78Был бы очень признателен за добавление нужных строк кода к Моему сформированному, да еще и с комментариями Комментариев в Вашем коде ровно ноль, да и код то не Ваш (см. цитату выше).

vovik78Сделано по уроку от сюдаВ данном случае слово "отсюда" пишется слитно.
...
Рейтинг: 0 / 0
удаление строк из БД отмеченных чекбоксами
    #38116853
vovik78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Небольшие основы работы с НТМL и CSS у меня есть.
У каждого разные способы усвоения информации.
Мне удобнее учиться на конкретных примерах.
Ну если вам всем тут сложно написать 3-10 сток кода с комментарием - тогда простите!
...
Рейтинг: 0 / 0
удаление строк из БД отмеченных чекбоксами
    #38116867
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что написать то? В Вами приведенном коде ляпов и непоняток гора. Цикл do...while следует переписать на while (без do).
автор
Код: php
1.
$row_Recordset1 = mysql_fetch_assoc($Recordset1);

идет без проверки на наличие записей в результате запроса.

автор
Код: php
1.
<form id="form2" 

Этот кусок может создать множество элементов с одинаковым id. Что противоречит спецификации HTML.

Далее. Не ясно, Вы хотите удалять записи по одной (о чем свидетельствует <input name="del" type="checkbox" id="del" /> внутри отдельной формы для каждой записи) или все отмеченные записи разом (на что намекает <input name="del2" type="button" id="del2" value="Удалить" /> в сторонней форме)? Эта (последняя) форма не будет брать данных из предыдущих. Таким образом, Вы не передадите ничего для удаления.

vovik78Небольшие основы работы с НТМL и CSS у меня есть.Видимо, их недостаточно, если делаете столь грубые ошибки.

vovik78сложно написать 3-10 стокТут с нуля проще переписать.
...
Рейтинг: 0 / 0
удаление строк из БД отмеченных чекбоксами
    #38116891
vovik78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто НТМL в перемешку с РНР никогда не использовал.
Да и код созавала программа автоматически.
То, что созданный код кривой уже понял.
Может встречали в сети доступные для чайника уроки по этой теме?
...
Рейтинг: 0 / 0
удаление строк из БД отмеченных чекбоксами
    #38116899
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovik78,

Тем тут несколько. Как минимум, пять явно выраженных этапов в данной задаче:
1. Запрос SELECT на получение списка сообщений (если не считать "*" и вероятность наличия 100500 записей в таблице, запрос составить удалось) и обработка его результатов в PHP.
2. Формирование HTML-кода страницы по данным из п1.
3. Обработка полученных от клиента данных формы.
4. Формирование запроса DELETE к БД на основании полученных в п3 данных.
5. Выполнение запроса из п4 и анализ результата (да-да, всех или части удаляемых записей может и не оказаться в таблице на момент выполнения запроса).

"Автоматизацию" написания кода отложите на потом. Когда руки не будут успевать за полетом мысли - можно будет задуматься.
...
Рейтинг: 0 / 0
удаление строк из БД отмеченных чекбоксами
    #38116902
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovik78Просто НТМL в перемешку с РНР никогда не использовал.Тем более, начните уже изучение с основ .
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / удаление строк из БД отмеченных чекбоксами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]