Мне удается успешно прочитать и отобразить данные из моей базы данных с помощью следующего кода: http://pastebin.com/rjZfBWZX Я также создаю кнопку удаления для каждой строки таблицы. Нажатие кнопки удаления вызывает «obrisi.php», который должен удалить эту строку, но я что-то испортил: S Вот код obrisi.php:
http://pastebin.com/mrFy1i7S
Я получаю ошибку Parse: синтаксическая ошибка, неожиданный «FROM» (T_STRING): S
Попробуем сделать это с _GET вместо _POST.
В главном коде вам нужно изменить строку 39 (вход):
echo "<td>" . " <input type='submit' id= '$id' . ' value='Delete' >" . "</td>";
чтобы:
echo "<td><a href='obrisi.php?id=$id'>Delete</a></td>";
В вашей строке изменения obrisi.php 3 (установка идентификатора) из:
$id = $_POST['id'];
чтобы:
$id = $_GET['id'];
И, наконец, как приятное дополнение, перенаправите обратно на главную страницу, добавив следующую строку в конец файла obrisi.php до закрытия тега php.
header('location:index.php');
Где index.php имя главной страницы, которое у вас есть.
echo "<td>" . " <input type='submit' id= '$id' . ' value='Delete' >" . "</td>";
некоторые простые ошибки здесь. это будет выводиться (с $ id = 1):
<td><input type='submit' id= '1' . ' value='Delete' ></td>
эта строка должна быть исправлена
echo '<td><input type="submit" id="' . $id . '" value="Delete" ></td>';
это тоже не так.
echo "<form action="obrisi.php" method="post">";
должен выглядеть следующим образом:
echo '<form action="obrisi.php" method="post">';
Но главная проблема заключается в том, что в сообщении нет идентификатора поля. Идентификатор элемента html не отправляется в submit. это в основном определить этот элемент в структуре HTML.
И при использовании кнопки отправки вам придется ограничить область формы этой строкой и использовать скрытое поле ввода или использовать ссылку, подобную той, которая предлагается
для уточнения: если вы хотите сделать это с помощью сообщения (но я бы предложил использовать $ _GET)
while ($row = mysqli_fetch_array($result) ) { $id = $row['id']; echo "<tr>"; echo '<form action="obrisi.php" method="post">'; echo "<td>" . $row['Ime'] . "</td>"; echo "<td>" . $row['Prezime'] . "</td>"; echo "<td>" . $row['Grad'] . "</td>"; echo "<td>" . $row['Drzava'] . "</td>"; echo "<td>" . $row['Obavijesti'] . "</td>"; echo "<td>" . $row['Tekst'] . "</td>"; echo "<td>" echo '<td><input type="hidden" name="id" value="' . $id . '"/><input type="submit" value="Delete" ></td>'; echo "</form> echo "</tr>"; }
и удалить эхо для формы из начала и конца скрипта.
в качестве дополнительной заметки здесь, если это будет в какой-то момент использоваться в живой системе, вам нужно проверить $ id в obrisi.php, что это на самом деле идентификатор, а не что-то неприятное и неожиданное, как больше sql, посмотрите вверх sql-инъекция.