Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用Javascript从我的sql数据库中获取值?_Php_Javascript_Mysql_Ajax - Fatal编程技术网

Php 用Javascript从我的sql数据库中获取值?

Php 用Javascript从我的sql数据库中获取值?,php,javascript,mysql,ajax,Php,Javascript,Mysql,Ajax,这件事我已经有点麻烦了,有人能解释一下吗 到目前为止发生了什么:当点击一个按钮时,会出现一个搜索语句,并发出一个AJAX调用,并返回一组显示为表的结果,这些结果来自mysql数据库中名为“ticket”的表。票证表中显示的值为“地点”“日期”“时间”“tPrice”。 此“tPrice”是一个已设置的数字,即15/20/25,表示车票的价格。这可以正常工作,显示也很好,但是我在用Javascript获取门票价格时遇到了一个问题,有人知道如何在JS中引用mysql表中的数字吗 我想用这个值做的是将

这件事我已经有点麻烦了,有人能解释一下吗

到目前为止发生了什么:当点击一个按钮时,会出现一个搜索语句,并发出一个AJAX调用,并返回一组显示为表的结果,这些结果来自mysql数据库中名为“ticket”的表。票证表中显示的值为“地点”“日期”“时间”“tPrice”。 此“tPrice”是一个已设置的数字,即15/20/25,表示车票的价格。这可以正常工作,显示也很好,但是我在用Javascript获取门票价格时遇到了一个问题,有人知道如何在JS中引用mysql表中的数字吗

我想用这个值做的是将它乘以从下拉菜单中选择的任何数字的值。这个下拉菜单也是由AJAX作为用户搜索结果的一部分返回的,这个搜索结果页面是用php编写的,并且作为结果表中的一列响应下拉菜单

到目前为止,我得到的是:

function quantityChange() {
//Select the value of the drop down list       
var quantity = $('.summary').html($('#showQuantity option:selected').val());
//get the value of the number from the tPrice column in 'ticket' table
var ticket = parseFloat($('#ticketprice').val());
//multiply them together
var total = quantity * ticket;
return (total);
在Firebug中调试后,它没有给我任何错误,但也没有给我任何结果…请,任何帮助都将不胜感激!谢谢

编辑: php代码:

$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 id=\"ticketprice\">&pound$ticketPrice</td>\n";
    echo "<td >
         <select name =\"showQuantity\" id=\"showQuantity\" class =\"showQuantity\" onchange=\"quantityChange()\" >
                   <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>
        </td>\n";
     echo "<td>$date</td>\n";
     echo "<td>$time</td>\n";
     echo "</tr>\n";
}

尝试更改触发器功能

$(document).ready(function() {
function quantityChange() {
//Select the value of the drop down list       
var quantity = $('#showQuantity option:selected').val();
//get the value of the number from the tPrice column in 'ticket' table
var ticket = parseFloat($('#ticketprice').val());
//multiply them together
var total = quantity * ticket;
//console.log(total);
//console.log(ticket);
//console.log(quantity);
return (total);
}

// Need a simple trigger
$('#showQuantity').change(function() {
        quantityChange();
});
});

如上所述,您有多个具有相同ID的元素。 因此,当您编写代码以通过elemeny的id=troubles获取值时。 尝试:

1.更改下一行:

onchange=\"quantityChange()\"
var quantity = $('.summary').html($('#showQuantity option:selected').val());
致:

2.将函数定义行更改为:

function quanitityChange(selElem){
3.更改下一行:

onchange=\"quantityChange()\"
var quantity = $('.summary').html($('#showQuantity option:selected').val());
致:

4.更改:

echo "<td id=\"ticketprice\">&pound$ticketPrice</td>\n";

工作?现在数量和票证的输出是多少?

页面上是否只有一个票证价格下拉列表?您在该选择器中提供了一个ID,所以我希望如此……您确定该值已填充到下拉列表的选项中吗?您可以右键单击并使用Firebug检查元素以确保正确。您不需要$'.summary'.html$'showQuantity选项:selected'.val.$'showQuantity选项:selected'.val就足够了。Firebug在计算总计之前显示了quantity和ticket的值是什么?下拉列表有一个ID yes,我已经手动输入了选项值1-5的值,但是数据库中的tPrice是在一段时间内生成的{}php文件中的循环try:AlertQanity,在为票证定义了var和相同的变量之后。警报消息的输出是什么?谢谢Charles Weiss的回复,我已经实现了这些更改,Firefox告诉我quantityChange没有定义?请检查定义函数名时函数名与调用函数名之间是否有错拼。谢谢,我会这样做。当我收到票的时候;它给我'NaN'不是一个数字,因为某种原因,它不会将我的tPrice列中的值识别为一个数字:/@TimJohnstone:我想当然地认为只有一个select语句,并且您正在运行jQuery。您可能需要在触发器上使用一个活动处理程序来检测对dom的ajax更改。谢谢你,伙计。但是,此项的输出为“NaN”。我能够获取用户选择的选项值,但我遇到的主要问题是获取值:$ticketPrice=$pcRow['tPrice'];回声英镑$ticketPrice&n;这是存储在我的数据库中的值,我试图让函数得到这个['tPrice']值,并将其乘以quantity变量。谢谢,但是我现在在提醒他们时,数量和票证都得到了'NaN'。你想让我重新发布我现在的代码吗?你应该用你当前的代码和输出更新你的问题。
echo "<td id=\"ticketprice\">&pound$ticketPrice<input type='hidden' id='ticketPriceHidden' value='".$ticketPrice."'></td>\n";
var ticket = parseFloat($(this).parent().find("input#ticketPriceHidden").val());