gpt4 book ai didi

php - 使用 MySQL 和 PHP 删除页面上的项目

转载 作者:太空宇宙 更新时间:2023-11-03 11:08:56 28 4
gpt4 key购买 nike

我不确定我应该为自己想做的事走什么路。该页面使用 php 从 mysql 数据库加载一些数据。我这样做是为了生成一个复选框,其中包含一个从 0 开始的增量值,依此类推它在数据库中找到的每个值。我想要做的是让那个复选框被选中,当他们按下垃圾桶图标时,它将从数据库中删除该行。我不确定的是如何在单击按钮时删除它然后重新加载页面。最好的方法是什么?我不需要代码或任何我无法想到的实现此目标的最佳途径。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Print Run</title>

<style type="text/css">
.openRun{
width:500px;
}
.openRun th{
text-align:center;
background-color:#CCC;
}
</style>
</head>
<body>
<div>
<?php
$totals = 0;
$i = 0;
$companyName = "";
$quantity = "";
$cardSize = "";
$dateAdded = "";
require("serverInfo.php");
$printRun = mysql_query("SELECT * FROM `printRun` WHERE status = 'Open'");
$row = mysql_fetch_array($printRun);
echo 'Print Run #: ' . $row['Run'];
$result = mysql_query("SELECT * FROM `printRun` WHERE status = 'Open'");

while($row = mysql_fetch_array($result)){
$companyName[$i] = $row['Company'];
$quantity[$i] = $row['Quantity'];
$cardSize[$i] = $row['Size'];
$dateAdded[$i] = $row['Date'];
$totals = intval($row['Quantity']) + $totals;
$i++;
}

$arraySize = count($companyName);
echo '<table class="openRun">';
echo '<tr><th>Company</th><th>Quantity</th><th>Size</th><th>Date Added</th><th></th></tr>';
for($i = 0; $i < $arraySize; $i++){
echo '<tr>';
echo '<td>' . $companyName[$i] . "</td>";
echo '<td>' . $quantity[$i] . "</td>";
echo '<td>' . $cardSize[$i] . "</td>";
echo '<td>' . $dateAdded[$i] . "</td>";
echo '<td><input type="checkbox" name="box'. $i .'" value="'. $i .'" /></td>';
echo '</tr>';
}
echo '<tr>';
echo '<td style="font-weight:bold; border-style:solid; border-top-width:1px;">Totals</td>';
echo '<td style="font-weight:bold; border-style:solid; border-top-width:1px;">' . $totals . "</td>";
echo '<td></td>';
echo '<td></td>';
echo '<td><img src="images/trash.png" /></td>';
echo '</tr>';
echo '</table>';
mysql_close($link);

?>
<br />
</div>


</body>
</html>

最佳答案

有两种方法可以做到这一点。如果您不熟悉 AJAX,或者害怕使用它,我建议您快速阅读 this tutorial只是为了获得一个概述。

使用 AJAX

如果您不希望页面重新加载,您将需要使用 AJAX 从服务器异步发送和接收数据。一个典型的例子是:

$('.trash_link').on('click', function() {
$.ajax({
url: 'path/to/script.php',
data: 'variable='+$('.input_class').val(),
dataType: 'html',
success: function(response) {
$('.container').html(response);
}
});
});

我建议的关键是将所有布局逻辑放在 Controller 或模型函数中,这样您就不会重复自己。当数据发送到您的服务器时,它可以使用此功能通过 AJAX 功能发回您的所有布局。然后,您可以将 HTML 插入到您的容器元素中。

没有 AJAX

您在这里所做的只是提交一个表单,然后您的页面会重新加载。因此,您需要确保您已经在页面上指定了标签。这实际上取决于您希望页面具有的样式 - 有些人喜欢重新加载,有些人喜欢 AJAX 的无缝性。如果您选择省略 AJAX,则需要以下内容:

$('.trash_link').on('click', function() {
$('form').submit();
});

如果需要,您还可以添加弹出确认:

$('.trash_link').on('click', function() {
if(confirm("Are you REALLY sure?") {
$('form').submit();
}
});

关于php - 使用 MySQL 和 PHP 删除页面上的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9936757/

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