【发布时间】:2012-03-24 02:56:16
【问题描述】:
我在尝试从下拉列表中获取值并将该值乘以“票证”表中的数字时遇到问题。我一直在尝试在 PHP 和 javascript 中实现这个计算但没有运气:(
这是表单(通过AJAX返回到主页):
$pcSearch = $_POST['postcodeSearch'];
$postCodeSQL = "SELECT * FROM ticket WHERE locationID IN (SELECT locationID FROM location WHERE postCode LIKE '$pcSearch') ";
$postCoderesult = mysql_query($postCodeSQL) or die(mysql_error());
while ($pcRow = mysql_fetch_assoc($postCoderesult)) {
$venue = $pcRow['venue'];
$ticketPrice = $pcRow['tPrice'];
$date = $pcRow['date'];
$time= $pcRow['time'];
echo "<tr>\n";
echo "<td>$venue</td>\n";
echo "<td>£$ticketPrice</td>\n";
echo "<td><form id=\"quantity\" method=\"post\" name=\"ticketQuantity\">
<select name =\"showQuantity\" id=\"showQuantity\" class =\"showQuantity\" >
<option value=\"1\">1</option>
<option value=\"2\">2</option>
<option value=\"3\">3</option>
<option value=\"4\">4</option>
<option value=\"5\">5</option>
</select>
</form>
</td>\n";
echo "<td>$date</td>\n";
echo "<td>$time</td>\n";
echo "<td><form name=\"buyTicket\" class=\"buyTicket\" id=\"buyTicket\" >
<input type= \"button\" id= \"buyMe\" class= \"buyMe\" value= \"Buy\" name=\"buyMe\">
</form>
</td>\n";
echo "</tr>\n";
}
基本上,我想要做的是当用户点击并选择他们想要的门票数量,即 3,这个数字将乘以门票的价格('tPrice')。有没有办法在 PHP 中获取这两个值并将它们相乘?
我尝试添加 jQuery 来监听按钮单击功能,但无济于事...我什至尝试调试它,但由于某些奇怪的原因它不会输出警报:
$(document).ready(function() {
$(".buyMe").click(function() {
alert('click');
});
});
但是,如果我使用 jQuery,我什至如何从表单中获取 'tPrice' 的值?
非常感谢您的帮助:)
【问题讨论】:
-
你真的真的真的真的需要阅读HEREDOCs 并消除你的倾斜牙签综合症的坏情况。
-
您的查询也容易受到 SQL 注入攻击。
-
这是你需要的吗?: parseInt(document.getElementById('showQuantity').value) * parseFloat(document.getElementById('showQuantity').parentNode.parentNode.previousSibling.innerHTML.substr( 1));
-
啊,我明白了......所以在“”之前使用'\'可能会导致问题吗?并使用 HEREDOC 转义引号?
-
@Cfreak...是的,我知道这一点,稍后我将使用准备好的语句。
标签: php javascript jquery mysql drop-down-menu