Я пытаюсь удалить строки из моей базы данных sql, используя checkbox
. Это работает нормально, пока отмечен только один checkbox
. Но я также хочу, чтобы было возможно удалить несколько строк. Я видел много примеров, но я не могу заставить его работать. Надеюсь, кто-нибудь здесь может мне помочь.Удалите несколько строк с помощью JQuery
Так первый файл result.php (здесь все строки/таблица создана):
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_BOTH)) {
echo "<tr>";
echo "<td><input type='checkbox' name='id[]' class='toedit' value='" . $row[0] . "'></td>";
echo "<td>" . $row[1] . "</td>";
echo "<td>" . $row[2] . "</td>";
echo "</tr>";
}
echo "</table>";
Этот файл включен в мой основной файл HTML (main.html), вот Jquery, а также ,
Jquery переменные отправки chechbox в delete.php файл:
<script type="text/javascript">
$(".deletelogg").on('click', function(){
$.ajax({
type: 'POST',
url: "php/delete.php",
data: {id:$('.toedit:checked:first').val()},
success: function(data) {
alert(data);
$("p").text(data);
}
});
});
</script>
Последнее в моем файле delete.php:
include 'connect-database.php';
for ($i = 0; $i < count($_POST['id']); $i++) {
if ($_POST['id'][$i] != "") {
echo $_POST['id'] ;
$sql = "DELETE FROM Logg Where LoggID LIKE '".$_POST['id']."'";
$stmt = sqlsrv_query($conn, $sql);
if ($stmt == false) {
die(print_r(sqlsrv_errors(), true));
}
}
}
Я пытался сделать массив, содержащий все id
от checkbox
, но это не сработало ... какие-либо просьбы о помощи?
Вы не можете сделать это совсем так. Вам нужно проанализировать ваши значения в запросе, если вы передаете несколько значений. Кроме того, вам необходимо параметризовать ваши запросы. То, что вы здесь, представляет собой пример учебника для SQL-инъекции. –