我有数据库记录循环回声,所以它在Divs中列出每个记录信息。
我正在尝试创建一个删除按钮,从此页面视图中删除特定记录。循环编号跟踪器变量$ i也对应于记录ID,因此循环3输出包含记录ID 3的信息的div。
所以我只需点击将$ i传递给PHP函数然后运行sql以删除ID为$ i的记录。
我想在同一页上完成所有这些,所以我假设我需要ajax,但那就是我难倒的地方。另外,我可以发出警告“你确定吗”我已经用jquery对ajax做了ajax到php,但从来没有这样。
PHP:
$webserver = 'localhost';
$administrator = 'root';
$password = '';
$db_name = 'cdb';
$db = mysqli_connect($webserver, $administrator, $password, $db_name)
or die('Error connecting');
if( isset($_REQUEST['page']))
{
$_SESSION['page'] = $_REQUEST['page'];
}
else
{
$_SESSION['page'] = 1;
}
$records_per_page = 8;
$query = " SELECT *
FROM cars, users
WHERE cars.dealerID = users.dealerID
AND users.username = '".$_GET['username']."'";
$result = mysqli_query($db, $query)
or die("Error in query: '$query'");
$row = mysqli_fetch_assoc($result);
$i = 1;
$start = ($_SESSION['page'] - 1) * $records_per_page;
$end = ($_SESSION['page']) * $records_per_page;
while($row = mysqli_fetch_assoc($result) and $i < $end)
{
$i++;
if( $i > $start )
{
<div>
delete
</div>
<div of magic n' fairies>
echo $row['informationandstuff'];
</div>
}
}
删除功能:
function deleteCar()
{
$delete = "DELETE FROM cars
WHERE carindex = '".$i"'";
}
我可以将$ i发布到另一个文件并执行它bt宁愿保持相同的页面并允许你确定js弹出。
答案 0 :(得分:0)
如果我正确理解你,一种方法是将$ i变量存储在html数据属性或id(如你所建议的)中。然后,使用jquery收集该id并将其传递给ajax调用中的data属性。
示例列表项(我在这里假设一个heredoc):
<div class="list-item" data-record-id="{$yourId}">your output</div>
现在,收集用户点击的ID:
$('.list-item').click(function(){
//get item id
var recordId = $(this).data('record-id');
deleteRecord(recordId);
});
function deleteRecord(recordId) {
var recordData = 'recordId=' + recordId;
var request = $.ajax({
type: "post",
url: "the-php-page-you-use-for-async-calls",
data: recordData,
success: function(resp){
//show some validation that the record has been deleted
}
});
}