PHP - 如何将jquery变量的内容传递给sql查询?

时间:2011-12-21 10:02:18

标签: php jquery mysql sql

我想在我的查询的“Having”子句中使用变量bradio,但我不知道如何获取jquery变量的内容并将其传递到我的sql查询中。这是我的php文件的一个片段。你能告诉我怎么办?

由于

$conn = mysql_connect("localhost","form-test","pass");
$db = mysql_select_db("form-test",$conn);

?> 
  <script type="text/javascript">


    jQuery.noConflict();
    jQuery(function()
    {

    jQuery('#event_form_field-<?php echo $event_id; ?>').click(function() 
    {
    var bradio= jQuery("input[type=radio]:checked").val()
            alert(bradio); });});
           </script>
 <?php  

$query2 = "SELECT COUNT(wp_events_answer.answer) as rep, wp_events_answer.attendee_id  as idq, wp_events_question.quota as quota2, wp_events_attendee.event_id as ev, wp_events_answer.answer as answ, wp_events_question.id as qst3
    FROM wp_events_answer, wp_events_attendee, wp_events_question
            WHERE wp_events_answer.question_id = wp_events_question.id AND wp_events_answer.attendee_id = wp_events_attendee.id
    HAVING answer = 
    GROUP BY answ;";

 $result2 = mysql_query($query2) or die(mysql_error());

 while($row2 = mysql_fetch_row($result2)) {

}

?>

5 个答案:

答案 0 :(得分:5)

您不能使用上述方法在一个页面中混合使用PHP和javascript代码。问题是因为PHP在服务器上执行,远在客户端上运行任何javascript之前。因此,两人不能互相交谈。

这里的解决方案是向服务器上的PHP脚本发出AJAX请求,并将无线电控制的值传递给它。然后,这将返回所需的数据,然后您可以使用javascript在您的页面上显示此内容。

例如:

$.post(
    'myScript.php', 
    'bradio=' + jQuery("input[type=radio]:checked").val(),
    function(data) {
        // process your result here
    }
);

答案 1 :(得分:2)

将查询写入另一个php文件并使用GET或POST或者ajax调用传递变量

答案 2 :(得分:2)

不,你不能以这种方式将js变量传递给php。 php代码在页面发送到浏览器之前执行,而js代码在执行之后执行:您需要在请求中传递bradio值的ajax调用(获取或发布)

答案 3 :(得分:1)

您需要发送POST请求并重新加载页面,或者您需要通过AJAX将变量传递到当前页面并动态更改输出。通过jquery,通过http://api.jquery.com/jQuery.ajax/

发送AJAX请求非常简单

答案 4 :(得分:0)

您需要通过javascript($.get$.post)发出请求,并将此单选按钮的值作为参数传递。然后,在PHP端,您将能够从$_GET$_POST数组中获取它。