Автор | Вопрос по PHP |
Если есть человек знающий, возможно подскажете.
Из базы данных выводится список на страницу сайта:
1 имя
2 имя
3 имя
Код примерно:
<form>
<ol>
<li>1 имя</li>
<li>2 имя</li>
<li>3 имя</li>
</ol>
</form>
Хочу прикрутить по одной кнопке удаления строки <li></li>.
В принципе всё реализовал, но не могу вычленить id строки и поместить его
$id = 'СЮДА';
mysql_query("DELETE FROM my_table WHERE id='$id'");
Как бы решить проблемку? |
Ох уж этот сентябрь. Последние лаботрясы сдают курсовики что бы их не остчислили, когда добрые преподы дали им последний шанс защитить курсовой в сентябре. |
Сейчас бы в сентябре курсовики сдавать) |
А что? Особо адарённые их и сдают. |
Немного не понятна задумка автора.
У вас одна кнопка или кнопка для каждой строки? |
10 print"hello word"
20 goto 10
run |
document.getElementById() |
Немного не понятна задумка автора.
У вас одна кнопка или кнопка для каждой строки?
Кнопка для каждой строки.
Строка потеряла актуальность - нажал удалить)
document.getElementById()
Я так понимаю это js, хотелось бы решить сперва на php |
для Cyning Ragnar:
Вставляете <button> в li, в value которого хранится ваш id. В форму будет передаваться value кнопки, т.е. ваш id. Потом глобальной переменной post/get забираете значение и вставляете в запрос к бд. |
Кнопка вот:
echo "<li><input type='submit' value=".$myrow['id']." name='del'></input>".$myrow['name']."</li>";
Обработка вот:
$id = $__POST['value'];
echo $id;
$result = mysql_query("DELETE FROM my_table WHERE id='$id'");
В переменную $id не поступает данных, где ошибка может быть?
С этим и вожусь второй день... |
В названии глобальной переменной post. |
А именно что? |
я думал это какая-та Народная Республика.. а тут непонятно что |
я думал это какая-та Народная Республика..
о боже... |
А именно что?
Не $__POST, а $_POST
Чтобы что то куда то попадало, нужно чтобы там что то было. Чтобы посмотреть записывается ли в post, выводите его:
<pre> <? print_r($_POST); ?></pre>
А потом уже разбираетесь дальше. |
Не $__POST, а $_POST
Это я кстати поправил, не знаю как так вышло...
Но тем не менее в присваивании
$id = $_POST["value"];
выдает ошибку:
Undefined index: value
А на запрос
print_r($_POST);
Есть массив:
Array ( [del] => 67 ) |
Не знаю точно, но сделал так -
$myid = $_POST['del'];
echo $myid;
И начало работать...
По сути переименовал создаваемую переменную.
Теперь проблема, на каждой кнопке написан айди, а не скажем "удалить запись") |
Должно быть как то так:
//HTML
<form action= "request.php" method="POST">
<ul>
<li>
Something with id = 1<input type="submit" name= "id" value="1" />
</li>
</ul>
</form>
// request.php
<?
//подключение к бд
$db = mysqli_connect( "суда пишешь подключение к бд" );
if (!$db) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
}
if ($_POST) {
header($_SERVER['REQUEST_METHOD']);
$result = mysqli_query($db, "DELETE * FROM my_table WHERE id=" . $_POST["id"]);
}
//закрываем соедиение;
mysqli_close($db);
// unset global VARs
unset($_POST);
?> |
для Cyning Ragnar:
Теперь проблема, на каждой кнопке написан айди, а не скажем "удалить запись")
Для этого делают инпут с тип hidden (type="hidden"), в него пишите value. А кнопкой с типом submit отправляете value. |
<li><input type='submit' value='Удалить' name='del' /><input type='hidden' name='id' value=".$myrow['id']." />".$myrow['name']."</li>
Но теперь любая кнопка удаляет только последний результат. |