我正在开发一个有严格规格的网站。我很想知道我想要达到的目标是否可行,如果是,那怎么样。
我有一个显示产品列表的页面,旁边有一个名为Reserve
的按钮。我从MySQL数据库中获取信息。代码是这样的(它不是实际的代码):
while($obj = $results->fetch_object()) {
echo '<div class="product">';
echo '<iframe name="votar" style="display:none;"></iframe>';
echo '<form method="post" action="reserve.php" target="votar">';
echo $obj->description.' <button class="reserve" >Reserve</button>';
echo '<input type="hidden" name="barcode" value="'.$obj->bar_code.'"/>';
echo '</form>';
echo '</div>';
}
注意那里的iframe
。我使用此功能是因为单击按钮Reserve
时,页面不应该刷新。
reserve.php
页面包含以下内容:
if (isset($_POST["barcode"])) {
$barcode = filter_var($_POST["barcode"], FILTER_SANITIZE_STRING);
$results = $mysqli->query("UPDATE devices
SET status='reserved'
WHERE bar_code=".$barcode);
}
现在,我的实际问题是:是否可以单击Reserve
按钮,而不是刷新页面,但仍然将按钮更改为禁用状态?我认为禁用行动应该从reserve.php
完成,因此问题标题。
如果没有,请告诉我。我想要实现的是,当用户向下滚动产品页面并单击Reserve
时,我希望该按钮被禁用。我不介意刷新本身,但我的想法是,当刷新发生时,用户被发送回页面的开头,如果他想要保留另一个产品,则必须再次向下滚动。
答案 0 :(得分:0)
尝试ajax
...这是在不刷新页面的情况下更新db中的值的可能解决方案
<input type='button' name='reserve' onclick='return doReserve(your_primary_key)' value='reserve' />
现在考虑下面的javascript函数来激活ajax调用
function doReserve(id)
var data= {id: id};
$.ajax({
url: "ajax_reserve.php",
data: data,
type: "GET",
success: function(html) {
if(html=='ok')
{
$('#reserve').prop('disabled', true);
}
else
{
alert('There was some error')
}
}
});
}
现在创建一个php文件ajax_reserve.php
并将数据库更新代码放在该文件中
$update= 'your update check variable i.e true or false';
if($update)
{
echo 'ok';
}
else
{
echo 'error';
}
如果需要进一步的帮助,请告诉我