gpt4 book ai didi

javascript - 有没有 'cleaner' 方法可以将 MySQL 值分配给 jQuery 变量?

转载 作者:行者123 更新时间:2023-11-29 11:17:50 25 4
gpt4 key购买 nike

我正在创建一个基本的拍卖网站,但遇到了一个小问题,即在出价时,有时会说出价太低,尽管它高于当前出价。我认为这与我获取当前出价的方式有关,因为我认为这不是一个非常简洁的方法。

所以我的 HTML/PHP 检索并列出页面上的拍卖:

    $result = mysqli_query($con,"SELECT * From auction WHERE category = 'Bathroom' ORDER BY ID DESC");


while($row = mysqli_fetch_array($result))
{
echo "<form name='auction' id='auction" . $row['ID'] . "'>
<input type='hidden' name='id' value='" . $row['ID'] . "' />
<div class='auction-thumb'>
<div class='auction-name'>" . $row['Item'] . "</div>";
echo "<img class='auction' src='" . $row['ImagePath'] . "' />";
echo "<div class='auction-bid'>Current Bid: £<div class='nospace' id='" . $row['ID'] . "'>" . $row['CurrentBid'] . "</div></div>";
echo "<div class='auction-bid'>Your Name: <input type='text' class='bidder' name='bidname' autocomplete='off'/></div>";
echo "<div class='auction-bid'>Your Bid: <input type='text' class='auction-text' name='bid' autocomplete='off'/></div>";
echo "<div class='auction-bid'><input type='submit' name='submit' value='Place Bid!' /></div>";
echo "<div class='bid-success' id='bid" . $row['ID'] . "'>Bid placed!</div>";
echo "</div></form>";

如您所见,我将列/值“CurrentBid”包装在一个div中,并使用MySQL中的ID。

然后,当有人出价时,将调用以下 jQuery/AJAX 代码:

        $(document).ready(function(){
$('form[name="auction"]').submit(function(){
var id = $(this).find('input[name="id"]').val();
var bidname = $(this).find('input[name="bidname"]').val();
var bid = $(this).find('input[name="bid"]').val();
var currentbid = $('#'+id).text();

var itemdesc = $(this).find('.auction-name').text();

if (bidname == '')
{
alert("No name!")
return false;
}

if (bid > currentbid)
{
alert("Bid is greater than current bid");
}
else
{
alert("Bid is too low!");
return false;
}

$.ajax({
type: "POST",
url: "auction-handler.php",
data: {bidname: bidname, bid: bid, id: id, itemdesc: itemdesc},
success: function(data){
$('#bid'+id).fadeIn('slow', function () {
$(this).delay(1500).fadeOut('slow');
});
}
});
return false;

});
});

正如您从这段代码中看到的,我通过选择 div 容器的 ID,然后提取其中的文本来分配变量“currentbid”。

我不确定这是否是导致我出现问题的原因,但似乎很可能,我无法弄清楚为什么有时它会说“出价太低”,尽管我输入的价格高于当前出价的价格分区。

理想情况下,我想将直接来自 MySQL 的值分配给 jQuery 变量“currentbid”,但我不太确定这是否可行。

有谁知道我可以做到这一点的方法吗?或者有更好的方法可以为变量赋值吗?

谢谢

最佳答案

您现在正在比较字符串而不是数值。在比较之前,您应该将值转换为 float 。

bid = parseFloat(bid)
currentbid = parseFloat(currentbid);

同样在服务器端,当处理出价时,您应该首先检查数据库中的 currentBid,因为它可能已经更改。

关于javascript - 有没有 'cleaner' 方法可以将 MySQL 值分配给 jQuery 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39466075/

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