【问题标题】:Reset option tag value with one from database using PHP MySQL使用 PHP MySQL 从数据库中重置选项标签值
【发布时间】:2016-06-16 11:09:36
【问题描述】:

最初,我使用库存可用数量填充我的选项标签。

<select name="quantity" class="form-control input-sm" id="quantity">
    <?php for ($i=1; $i<=$Quantity; $i++) { ?>
    <option value="<?php echo $i;?>"><?php echo $i;?></option>
    <?php } ?>
</select>

我正在使用 Javascript 从我的 html 表单更新数量:

function update_id(id)
{
    if (confirm('Update quantity for this Item?')) {
        uid = id;
        quantity = $('select[name=quantity]').val()
        window.location.href="Cart.php?update_id="+uid+"&quantity="+quantity;//+'?quantity='+quantity;
    }   
}

并针对该特定产品将其存储在 Cart 表中。在重新加载或刷新页面时,选项标签在此处重置为默认值“1”。我想用数据库中的更新数量为该特定产品分配选项标签值。

Screenshot of the cart

提前致谢

【问题讨论】:

    标签: javascript php html mysql


    【解决方案1】:

    我认为 HTML 部分来自“Cart.php”。如果是这样,您可以将其更改为:

    <select name="quantity" class="form-control input-sm" id="quantity">
        <?php 
            $selectedQuantity = (isset($_GET["quantity"]) ? $_GET["quantity"] : 1);
            for ($i=1; $i<=$Quantity; $i++) { 
        ?>
        <option value="<?php echo $i;?>"<?=($selectedQuantity == $i ? " selected" : "")?>><?php echo $i;?></option>
        <?php } ?>
    </select>
    

    所以在选项标签中添加一个“selected”属性来赋予选中的值。

    【讨论】:

    • 我已经尝试了您的解决方案,但没有? $_GET["quantity"] : 1) 并且一直工作到刷新/提交页面时更改选项标签值的程度。但它设置为库存的最大值,此处为“5”。通过添加上面的代码,它实际上给了我 Parse error: syntax error, unexpected '?', expecting ',' or ')'
    • 我更正了代码。我确实忘记了一些括号。最多,我可以说没有看到更多的代码。未显示 $Quantity 影响。
    • Perfecto !!!.. 它就像一个魅力.... :) 非常感谢您的时间和帮助....但是还有另一件事是当我导航时值会重置通过页面。你能指导我吗?
    • 已解决...我从 db 中取出它并将其存储在 $_GET['quantity']
    • 我试图支持你的帮助,但 StackOverflow 告诉我我没有 15 名声望这样做......我是 SO 的新手。但我一定会的。
    猜你喜欢
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多