【问题标题】:Values from drop down list that inserted in mysql are all the same插入 mysql 的下拉列表中的值都相同
【发布时间】:2017-02-08 00:45:43
【问题描述】:

我有一个页面,允许用户在下拉列表中选择数量值。 单击提交按钮后,将值插入 mysql.即使我选择了不同的值,当我再次做出选择时,所有值都变得相同,即相同的值为 5。为什么? 这是代码

view.php

echo "<td align='center'>";
echo "<select name='kuantiti'>";
for($x = 0; $x<=$row['kuantiti']; $x++){
    echo "<option value='$row[kuantiti]'>$x</option>";
}
echo "</select></td>";

进程.php

$kuantiti = $_POST['kuantiti'];

if (isset($_POST['pinjam'])) {
    $sql = "INSERT INTO user_request 
                (nama, noic, 
                jawatan, peringkat, 
                peralatansukan, kuantiti) 
            values ('$_SESSION[nama]', '$_SESSION[$noic]',  
                    '$_SESSION[$jawatan]', '$_SESSION[$peringkat]', 
                    '$peralatansukan', '$kuantiti')";

如果您对我的陈述不太理解,我很抱歉。我的英语不够好。任何其他帮助/建议将不胜感激。谢谢。

更新: Here's the page Here's the mysql

在view.php中

我选择 13。

在mysql中,插入的值为5。

最大值取决于管理页面,她想在 updatequantity.php 中放入多少数量,这意味着她会更新数量并自动在 mysql 中更新数量。这就是我将 $row['kuantiti'] 放在 for 循环中的原因。

【问题讨论】:

  • 那么我该如何更改它们呢?
  • 他们最多可以选择多少个 kuantiti 0 到 ?您必须将最大数量输入 $x

标签: php mysql


【解决方案1】:

您需要使用循环中的变量来获取下拉列表可见部分中显示的数字的匹配值

echo "<option value='$x'>$x</option>";
// passed to PHP ----^^,,^^ What is shown to the user
// they do not necessarily have to be the same thing

【讨论】:

  • 我以前也这样改过,插入的值为 0,因为我在 for 循环中声明了 $x=0。再次查看我上面的代码。
  • 您的意思是要从 1 开始,而不是从 0 开始?
  • 没有。我只想从0开始。这与价值问题有关吗?
  • 你的价值问题到底是什么
  • 我的问题是,插入后下拉列表中所有选择的数量值在mysql中都是相同的。即使我选择了不同的数量。插入到mysql中的相同值是5。
【解决方案2】:

您在所有选项的选项值中使用相同的参数,您需要将其替换为您显示的相同值: 在你的 view.php 中:

echo "<td align='center'>";
    echo "<select name='kuantiti'>";
    for($x = 0; $x<=$row['kuantiti']; $x++){
     echo "<option value='$x'>$x</option>";
      }
    echo "</select></td>";

【讨论】:

  • 我以前也这样改过,插入的值为 0,因为我在 for 循环中声明了 $x=0。再次查看我上面的代码
【解决方案3】:

如果您希望数量在下拉列表中有选项 0 到 10,您必须将视图更改为

echo "<td align='center'>";
echo "<select name='kuantiti'>";
$maxKuantiti = 10;
for($x = 0; $x<=$maxKuantiti; $x++){
    echo "<option value='$x'>$x</option>";
}
echo "</select></td>";

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-02
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多