gpt4 book ai didi

php - 如何在 PHP 中通过 AJAX 更新两个 MySQL 表?

转载 作者:行者123 更新时间:2023-11-29 00:21:18 27 4
gpt4 key购买 nike

我是新来的。我一直在尝试制作一个简单的应用程序,用户可以在其中将项目从几个表拖放到购物车中,然后单击它们将它们添加到他自己的队列(或表)中(总共有 3 个表)。到目前为止,我已经阅读了近 50 篇博客文章并观看了大约 10 个 YouTube 视频,但我不明白一旦用户说“将它们添加到我的问题”,我如何更新我的所有三个表。我只能看懂JS、JQ和一点Ajax。不过我正在学习。

你可以在我的页面上查看: Here(在演示中,绿色表是用户自己的表,橙色表是用户可以从中选择项目的表。)我希望我的用户从橙色表中拖放行,然后单击“添加到我的问题”,应删除这些行来自橙色表并被添加到他的表(绿色表)。

索引.php

    <!--Drag Area-->
<div id="panel1">
<p class="text-muted">Drag in this area</p>
</div>

<!--Add to my list button-->
<button type="submit" class="btn btn-default" style="color:green">Add to my que</button>


<!--User's own table where the records should be added after he clicks add to my list-->
<table>
<?php
<!--MySQL Query for fetching the records-->

$result = mysql_query("SELECT r_no, gen_date, item, qty, due_date FROM request WHERE buyer_no=1001 ORDER BY position ASC LIMIT 5");

echo ("<thead><tr>
<th>Item</th>
<th>Quantity</th>
<th>Due Date</th>
</tr></thead>");
echo ("<tbody>");
while ( $row = mysql_fetch_row($result) ) {
echo '<tr><td>';
echo(htmlentities($row[2]));
echo("</td><td>");
echo(htmlentities($row[3]));
echo("</td><td>");
echo(htmlentities($row[4]));
echo("</td></tr>\n");
}
echo ("</tbody>");
?>
</table>
<!-- two tables with <tr> class wow. the user will take the items from here and drag them to drag area-->
<table id="table2">

<?php

$result = mysql_query("SELECT r_no, gen_date, item, qty, due_date FROM request WHERE buyer_no=2001 ORDER BY r_no DESC LIMIT 5");

echo ("<thead><tr>
<th>Item</th>
<th>Quantity</th>
<th>Due Date</th>
</tr></thead>");
echo ("<tbody>");
while ( $row = mysql_fetch_row($result) ) {
echo '<tr class="wow"><td>';
echo(htmlentities($row[2]));
echo("</td><td>");
echo(htmlentities($row[3]));
echo("</td><td>");
echo(htmlentities($row[4]));
echo("</td></tr>\n");
}
echo ("</tbody>");
?>
</table>




<table>

<?php

$result = mysql_query("SELECT r_no, gen_date, item, qty, due_date FROM request WHERE buyer_no=3001 ORDER BY r_no DESC LIMIT 5");

echo ("<thead><tr>
<th>Item</th>
<th>Quantity</th>
<th>Due Date</th>
</tr></thead>");
echo ("<tbody>");
while ( $row = mysql_fetch_row($result) ) {
echo '<tr class="wow"><td>';
echo(htmlentities($row[2]));
echo("</td><td>");
echo(htmlentities($row[3]));
echo("</td><td>");
echo(htmlentities($row[4]));
echo("</td></tr>\n");
}
echo ("</tbody>");
?>
</table>

.js文件

    <!--JS file-->

$(document).ready(function() {
$('.wow').draggable({containment: 'document', revert: true,
start: function(){
contents = $(this).html();
}
});

$('#panel1').droppable({hoverClass: 'border', accept: '.wow',
drop: function(){
$('#panel1').append(contents + '<br/>');
}
});
});

最佳答案

您必须在表中有一个主键。假设“item”是您的主键

给用户表一个唯一的id。

<table id="userTable"> ....

为您的“添加到我的问题”按钮指定一个 ID。

<button type="submit" class="btn btn-default" id="addToQue">Add to que</button>

当按下“添加到我的队列”按钮时,对 PHP 脚本进行 ajax 调用,例如“update.php”。在发布请求中发送所有“项目”值。jQuery 代码:

$("#addToQue").click(function() {
var all_tds = $('#userTable tr td:first-child'); //Since item is the first td in tr
var items="";
all_tds.each(function(){
items = items +"-"+ this.value //concatenate all the values of item using -
})
$.ajax({
url : "http://yourdomain.com/update.php",
type : "POST",
data : "toupdate=" + items, //send the concatenated value
success: function(data) {
location.reload(); //reload the webpage
});

});

在 update.php 中使用 php split() 函数来拆分 $_POST['toupdate'] 的值。它将为您提供 item 的单独值,然后使用相同的值执行 sql 更新查询。我希望您在获得 item 的值后可以编写 SQL 查询。

关于php - 如何在 PHP 中通过 AJAX 更新两个 MySQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20974059/

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