Переменная из javascript в php

12
V
На сайте с 11.09.2013
Offline
2
634

есть код

<input type="range" min="0" max="100" step="1" value="50"  oninput="bal(value)" id="price">

........
function bal(price)
{
<?
$query = ("SELECT * FROM users WHERE price= и вот сюда надо запихать входной параметр функции");
?>
}

Как это сделать?

R
На сайте с 18.12.2009
Offline
92
#1

Используйте AJAX запрос к php файлу.

V
На сайте с 11.09.2013
Offline
2
#2

эээээ, дело в том, что я начал заниматься всем этим всего 3 дня назад) Можно как-нибудь поподробнее?)

TF-Studio
На сайте с 17.08.2010
Offline
334
#3

Попробуйте сформулировать изначальную задачу.

Уверен на 100%, что есть более простое решение.

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
V
На сайте с 11.09.2013
Offline
2
#4

Легко! Есть База данных, в ней хранятся координаты точек + цена. Я подключаю яндекс карту и при загрузке страницы на ней отмечаются все точки, которые есть в БД(то есть происходит коннект к бд и берутся все значения без ограничений). Также у меня есть ползунок, который определяет параметр точек, то есть при перетягивании ползунка мы опять делаем запрос к БД с условием, чтобы цена была меньше значения ползунка. Полученные точки опять выводим на карту)

H
На сайте с 10.09.2013
Offline
13
#5

xmlhttprequest.ru или открыть ифрейм с гет параметрами в href или создать картинку 1 на 1 с гетом в урле или просто редиректнуть. Вариантов куча :)

+ гуглится на ура.

<script src="http://yandex.st/jquery/1.5.0/jquery.min.js" type="text/javascript"></script>
<script language="javascript">
var message = 'text';
$.get('http://site.com/script.php', {message:message}, function(data) {
alert('Сервер ответил: '+data);
});
</script>

в php $_GET[message]

V
На сайте с 11.09.2013
Offline
2
#6

а можно ли как то тправить массив из пхп скрипта?

R
На сайте с 18.12.2009
Offline
92
#7

Массив можно. Например, делаете AJAX запрос, и указываете тип данных, как JSON. Ответ разбираете и все.

V
На сайте с 11.09.2013
Offline
2
#8

Так, с этим я тоже разобрался. Но тут возникла огромная проблема) Дело в том, что все это делается в цикле

Как хотелось бы

<?

$query = ("SELECT * FROM users WHERE price < вот эта перменная, из-за которой и весь гемор");
$sql = mysql_query($query) or die(mysql_error());
while($users = mysql_fetch_array($sql))
{
?>
var point = new YMaps.GeoPoint(<? echo $users[2]?>,<? echo $users[1] ?>);
var placemark = new YMaps.Placemark(point);
placemark.name = "Заголовок балуна";
placemark.description = "<? echo $users[0]?> ";
map.addOverlay(placemark);
<?
}
?>

С использованием jQuery я избавляюсь от пхп кода в данном файле и вызываю его отдельно. Получится что-то вроде

$.getJSON("server.php", function(data){

//alert("Data Loaded: " + data[1]);
});
var point = new YMaps.GeoPoint(data[2],data[1]);
var placemark = new YMaps.Placemark(point);
placemark.name = "Заголовок балуна";
placemark.description = "data[0] ";
map.addOverlay(placemark);

Вот пхпшка

<?php

include_once("bd.php");
?>
<? $query = ("SELECT * FROM users");
$sql = mysql_query($query) or die(mysql_error());
$users = mysql_fetch_array($sql);
echo json_encode($users);
?>

Получается, я получу только одну строку из БД. Даже если я впихну цикл в server.php, он все равно выдаст последнюю строку. Как грамотно получить все строки?

R
На сайте с 18.12.2009
Offline
92
#9


<?php
include_once("bd.php");
$query = ("SELECT * FROM users");
$sql = mysql_query($query) or die(mysql_error());
$array = array();
$i = 0;
while($users = mysql_fetch_array($sql)) {
$array[$i]['id'] = $users['id'];
$array[$i]['name'] = $users['name'];
$i++;
}
echo json_encode($array);
?>

Просто как пример. Т.е. Вам данные нужно сначала в массив собрать.

beginerx
На сайте с 13.07.2009
Offline
173
#10

вообще есть дата биндинг - там вяжется автоматом но надо подучить матчасть, ну там всякие VS и Silverlight

>>>Скорость и Реакция<<< (https://vk.com/app4629907 ): онлайн тренировка скорости и времени реакции.... (https://vk.com/app4612117 )... (https://vk.com/club18740762 ).
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий