根据单选按钮值从数据库中检索数据

时间:2013-10-17 18:22:29

标签: php mysql

我对php和mysql都很陌生,所以请原谅我,如果我这样做完全错了。我正在制作打印平衡应用程序,下面的代码是它的一部分。

$command="SELECT itemname FROM items";
$results = mysql_query($command);
while($row = mysql_fetch_assoc($results))
{
    foreach ($row as $key => $value) {
            print "<input type='radio' name='itemtype' value='$value'>".$value."</input><br />";
    }
}

这里应该是用户在SHORT BOND PAPER和LONG BOND PAPER之间选择的价格打印表格(来自项目的列项目名称)。选项显示为单选按钮。它可以工作,但现在我仍然坚持能够获取插入各自行的价格的问题。由于itemname及其价格都是用户输入到数据库中的,因此我不应该将它们的具体价格声明到代码本身,并且应该能够从数据库中检索它。我希望能够在用户点击提交后根据用户选择的项目获得价格,因为我需要这样做以计算打印价格,然后再乘以稍后的页数。

我认为这绝对有可能,但我不太清楚如何。从理论上讲,它将沿着SELECT itemprice FROM items WHERE itemname = $ value的行,但哈,我不认为它的工作方式。


解决方案编辑:这里是完整的解决方案供参考。 $ compute只是一个测试样本是否有效,而5是要输入的样本页数。

if ($command = mysql_query("SELECT `itemprice` FROM `items` WHERE `itemname` LIKE '" . mysql_escape_string($_POST['itemtype']) . "'"))
{
while($row = mysql_fetch_assoc($command))
{
$compute = $row['itemprice'] * 5;
echo $compute;
}
}
else
{
echo (mysql_error ());
}

1 个答案:

答案 0 :(得分:0)

确实会是这样的。

SELECT itemprice FROM items WHERE itemname = $_POST['itemtype']

假设itemprice是价格的实际列。像这样做的HOwever使你的代码容易受到mysql注入攻击。因此,在你开始调整之前,请考虑阅读一下。