gpt4 book ai didi

php - 显示 mysql 表中的所有行,然后提供删除特定行的选项

转载 作者:可可西里 更新时间:2023-11-01 06:59:07 25 4
gpt4 key购买 nike

我希望能够显示数据库表中的所有条目,并通过每个条目让用户能够删除特定的条目。

我目前正在使用 for each 循环,循环遍历数据库以展示每个条目。

$result = mysql_query("SELECT * FROM KeepScores");


$fields_num = mysql_num_fields($result);

echo "<table><tr>";
// printing table headers


echo "<td>Recent Posts</td>";

echo "</tr>\n";
// printing table rows
while($row = mysql_fetch_row($result))
{
echo "<tr>";

// $row is array... foreach( .. ) puts every element
// of $row to $cell variable
foreach($row as $cell)
echo "<td>$cell</td>";

echo "</tr>\n";
}

如何添加一个删除按钮,每个按钮都会出现并从数据库表中删除条目?

最佳答案

你可以用表单来做:

//main.php

<?php $result = mysql_query("SELECT * FROM KeepScores"); ?>

<table>
<tr>
<td>Recent Posts</td>
</tr>
<?php while($row = mysql_fetch_array($result)) : ?>
<tr>
<td><?php echo $row['field1']; ?></td>
<td><?php echo $row['field2']; ?></td>
<!-- and so on -->
<td>
<form action="delete.php" method="post">
<input type="hidden" name="delete_id" value="<?php echo $row['id']; ?>" />
<input type="submit" value="Delete" />
</form>
</td>
</tr>
<?php endwhile; ?>
</table>

//delete.php:

<?php
if(isset($_POST['delete_id'] && !empty($_POST['delete_id']))) {
$delete_id = mysql_real_escape_string($_POST['delete_id']);
mysql_query("DELETE FROM KeepScores WHERE `id`=".$delete_id);
header('Location: main.php');
}

或者您可以使用 jQuery 和 AJAX 来实现:

//main.php

<?php $result = mysql_query("SELECT * FROM KeepScores"); ?>

<table>
<tr>
<td>Recent Posts</td>
</tr>
<?php while($row = mysql_fetch_array($result)) : ?>
<tr id="<?php echo $row['id']; ?>">
<td><?php echo $row['field1']; ?></td>
<td><?php echo $row['field2']; ?></td>
<!-- and so on -->
<td>
<button class="del_btn" rel="<?php echo $row['id']; ?>">Delete</button>
</td>
</tr>
<?php endwhile; ?>
</table>

<script>
$(document).ready(function(){
$('.del_btn').click(function(){
var del_id = $(this).attr('rel');
$.post('delete.php', {delete_id:del_id}, function(data) {
if(data == 'true') {
$('#'+del_id).remove();
} else {
alert('Could not delete!');
}
});
});
});
</script>

//delete.php

<?php
if(isset($_POST['delete_id'] && !empty($_POST['delete_id']))) {
$delete_id = mysql_real_escape_string($_POST['delete_id']);
$result = mysql_query("DELETE FROM KeepScores WHERE `id`=".$delete_id);
if($result !== false) {
echo 'true';
}
}

这一切都未经测试,并且肯定需要针对您的特定项目进行一些调整,但我认为您明白了,我希望它能有所帮助。

下次,如果您询问有关数据库的问题,请发布您的架构。

关于php - 显示 mysql 表中的所有行,然后提供删除特定行的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7302554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com