如何从复选框上的数据库中检索值单击?

时间:2014-10-06 11:05:08

标签: javascript php jquery mysql

嗨我有三个复选框,我希望我选择哪一个复选框关于该复选框值应从数据库中检索

这是我的复选框

<input type="checkbox" name="test" value="X-Ray" style="margin-top:10px;margin-left:120px;"><label>X-Ray</label>
<input type="checkbox" name="test" value="Ecg" style="margin-top:10px;margin-left:20px;"><label>ECG</label>
<input type="checkbox" name="test" value="Blood Test" style="margin-top:10px;margin-left:20px;"><label>Blood Test</label>

mysql查询

SELECT  SUM(price) from test where test='x-ray' or test='' or test='bloodtest'

我怎样才能得到我想要的输出?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以使用jquery选择器input暂停特定的:checked复选框。所以你的javascript中的这样的东西应该让你开始:

 $( "input" ).on( "click", function() {
   var sel = $( "input:checked" ).val(); 
       //Here you can just make a simple ajax request to a php script passing the 
       //specific checkbox value and let that script perform the mysql query.
       $.post( "test.php", { test: sel })
        .done(function( data ) {
         alert( "Completed");
        });
});

您的test.php脚本可能如下所示:

<?php
   $test = $_POST["test"]; 

   //Replace with your sql database credentials
   $con=mysqli_connect("example.com","peter","abc123","my_db"); 

  // Check connection
 if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }

 $result = mysqli_query($con,"SELECT SUM(price) from test where test='".$test."'");
 mysqli_close($con);
?>

这是一个准确处理问题的准备工作模板。当然,具体的用例可能会有所不同。例如,您可以发出get请求而不是post请求,并使您的php脚本进行交互并以不同方式获取数据。

我刚刚给你举例说明了简单的jquery和php中的工作流程。因此,您只需获取input复选框的值,并将值传递给与数据库交互并获取特定SUM的脚本。您应该阅读Jquery AjaxPHP Mysql上的一些文档,以便更好地了解这一点。希望它有所帮助。

答案 1 :(得分:-1)

我认为最好的解决方案是在页面的某处输出所有价格作为JavaScript变量,让我们稍微改变一下HTML。

<input type="checkbox" class="chkbox-update" name="test" value="X-Ray"><label>X-Ray</label>
<input type="checkbox" class="chkbox-update" name="test" value="Ecg"><label>ECG</label>
<input type="checkbox" class="chkbox-update" name="test" value="Blood Test"><label>Blood Test</label>
现在,价格。使用PDO迭代结果并构造一个JSON格式的变量:

<script>
var prices = {"X-ray": 3900, "ECG": 2000, "Blood Test": 1200};
</script>

然后使用JavaScript更新价格字段,我正在使用jQuery。

$('.chkbox-update').click(function() {
    var total;
    $.each($('.chkbox-update'), function(k,v) {
        total += prices[$(this).val()];
    });
    $('#result').text('The total price is '+total);
});

确定prices变量的键与value

<input>相匹配