Подскажите пожалуйста: нужно, чтобы в каждой строке таблицы появилась запись "Удалить", при нажатии на которую удалялась бы эта строка. Код (Text): <?php $result=mysql_query("SELECT nomber, date, content FROM pricaz"); $n=mysql_num_rows($result); echo "<table border=1> <tr><th>Номер </th> <th>Дата </th> <th>Вид </th></tr>"; for ($i=0; $i<$n ; $i++) echo "<tr><td>", mysql_result($result, $i, nomber), "<td>", mysql_result($result, $i, date), "<td>", mysql_result($result, $i, content), "<td>", //пытался сюда вставить ссылку на файл "delete.php?id=", чтобы там уже произвести удаление , но безуспешно "</td></tr>"; echo "</table>"; ?>
В HTML таблице добавь th для заголовка колонки с кнопками удалить, в цикле добавь <td> с кнопкой удалить, можно через form тег, и передавать ID, потом лови это ID. например ссылка delete.php?id=5 в delete.php если приходит $_GET['id'] то удаляй его с помощью SQL запроса к базе. https://secure.php.net/manual/ru/language.variables.external.php https://secure.php.net/manual/ru/function.mysql-real-escape-string.php (читай предупреждение в красном квадрате)
У меня получается удалить запись, присваивая id в коде (т.е. все ссылки "Удалить" удаляют одну запись) . Код (Text): for ($i=0; $i<$n ; $i++) echo "<tr><td>", mysql_result($result, $i, nomber), "<td>", mysql_result($result, $i, date), "<td>", mysql_result($result, $i, content), "<td>", "<form method='get' action='delete'><a href='delete.php?id=5'>Удалить</a></form>"; echo "</table>"; А как присвоить каждой строчке свой id ? Что-то не выходит... Перепробовал множество вариантов, вот один из них: Код (Text): for ($i=0; $i<$n ; $i++) echo "<tr><td>", mysql_result($result, $i, nomber), "<td>", mysql_result($result, $i, date), "<td>", mysql_result($result, $i, content), "<td>", "<form method='get' action='delete'><a href='delete.php?id=<?php mysql_result($result, $i, id) ?>'>Удалить</a></form>"; echo "</table>"; На счет mysql и mysqli знаю. На данный момент стоит старая версия (есть своя необходимость)
C echo я так же пробовал, но выдавал ошибку (видимо причина в кривых руках ) В итоге сделал так, может кому поможет: PHP: for ($i=0; $i<$n ; $i++) echo "<tr><td>", mysql_result($result, $i, nomber), "<td>", mysql_result($result, $i, date), "<td>", mysql_result($result, $i, content), "<td style='display: none'>", $s=mysql_result($result, $i, id), "<td>","<form method='get' action='delete'><a href='delete.php?id=$s'>Удалить</a></form>"; echo "</table>";
третий параметр ф-ии mysql_result либо число (смещение поля) либо строка. У вас действительно константа определенная гдето выше через define или же вы кавычки забыли? Во втором случае, оно конечно "работает", но делать так не надо
Используйте в форме метод ПОСТ иначе поисковики могут поудалять вам все данные, метод пост они не используют при обхоже юрл сайта.
Как-то подозрительно с mysql_result() в цикле, да еще для каждого поля..Не будет ли здесь страдать производительность? Я бы использовал mysql_fetch_assoc(), возвращающий ассоциативный массив, для расширения mysql, или, еще лучше, mysqli_fetch_assoc() для mysqli. И да, в метод формы - POST.