Как передать содержимое переменной JQuery в SQL-запрос? - PullRequest
0 голосов
/ 21 декабря 2011

Я хотел бы использовать переменную 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 ]

5 голосов
/ 21 декабря 2011

Вы не можете смешивать как PHP, так и JavaScript-код на одной странице, используя метод выше. Проблема заключается в том, что PHP выполняется на сервере задолго до того, как на клиенте может быть запущен любой javascript. Поэтому они не могут говорить друг с другом.

Решение здесь - сделать AJAX-запрос к PHP-скрипту на вашем сервере и передать ему значение радиоуправления. После этого будут возвращены необходимые данные, и вы сможете использовать javascript для отображения их на своей странице.

Например:

$.post(
    'myScript.php', 
    'bradio=' + jQuery("input[type=radio]:checked").val(),
    function(data) {
        // process your result here
    }
);
2 голосов
/ 21 декабря 2011

Нет, вы не можете таким образом передать переменную js в php.Код php выполняется перед отправкой страницы в браузер, а код js выполняется после: вместо этого вам нужен вызов ajax со значением bradio, переданным по запросу (get или post)

2 голосов
/ 21 декабря 2011

Запишите запрос в другой php-файл и передайте переменную с помощью GET или POST или, возможно, ajax-вызова

1 голос
/ 21 декабря 2011

Либо вам нужно отправить запрос POST и перезагрузить страницу, либо вам нужно передать переменную через AJAX на текущую страницу и изменить вывод на лету. Через jquery довольно просто отправить AJAX-запрос по номеру http://api.jquery.com/jQuery.ajax/

0 голосов
/ 21 декабря 2011

Вам нужно будет сделать запрос из javascript ($.get или $.post) и передать значение этой радиокнопки в качестве параметра.Затем на стороне PHP вы сможете получить его из массива $_GET или $_POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...