Я запускаю запрос выбора mysql в php, как это
<?php $getvalue="SELECT id,name from table1 WHERE column1='$var1' and column2='$var2'"; $result=mysql_query($getvalue) or die(mysql_error()); while($row=mysql_fetch_array($result)){ extract($row); echo $name; } ?>
var1 и var2 являются переменными javascript на одной странице. Я знаю, что переменная стороне клиента не может быть передана на сервер. Но есть ли какое-либо обходное решение, поскольку переменные находятся на одной странице.
Для того, чтобы это произошло, я считаю, вы должны использовать AJAX.
Код будет выглядеть так:
$.ajax({ url: 'your_script.php', type: 'POST', data: {var1: javascript_var_1, var2: javascript_var_2}, success: function(data) { console.log("success"); } });
Ваш PHP будет выглядеть примерно так (без учета кодировки JSON:
<?php $var1 = $_POST['var1']; $var2 = $_POST['var2']; $getvalue="SELECT id,name from table1 WHERE column1='$var1' and column2='$var2'"; $result=mysql_query($getvalue) or die(mysql_error()); while($row=mysql_fetch_array($result)){ extract($row); echo $name; } ?>
в<?php $var1 = $_POST['var1']; $var2 = $_POST['var2']; $getvalue="SELECT id,name from table1 WHERE column1='$var1' and column2='$var2'"; $result=mysql_query($getvalue) or die(mysql_error()); while($row=mysql_fetch_array($result)){ extract($row); echo $name; } ?>
Затем вы можете JSON кодировать результаты и в значительной степени выводить их на успех. Однако ваш php-скрипт должен жить в другом php-файле.
Кроме того, избегайте данных. Используйте подготовленные заявления.
Теоретически вы можете передать vars на php через какой-то вызов ajax. Я думаю, что это будет похоже на …
JavaScript:
var data = { 'var1': $('selector').val(), 'var2': $('selector').val() }; $.ajax({ type: 'post', url: 'path-to-your-file.php', data: data, timeout: 50000 }).done(function(response) { console.log(response); }).fail(function(error) { // uh-oh. });
PHP:
<?php print_r($_POST['data']);
В противном случае вы можете использовать:
PHP:
<?php ... column1='$_COOKIE["mycookie1"]' and column2='$_COOKIE["mycookie1"]'"; ... column1='$_POST["hidden1"]' and column2='$_POST["hidden2"]'";
ПРИМЕЧАНИЕ. Вы хотите дезинформировать данные. Использование raw cookie и / или входных значений может привести к некоторым менее желательным результатам.
Использовать сообщение метода в AJAX или форме! Чтобы отправить переменную js в Php и получить ее в php, используя $ _post [name_of_obj];