День добрый. Подскажите пожалуйста как вывести в всплывающий бабл маркера данные из бд, а менно из mysql.
Есть таблица users со след строками: id,name,address,telephone и тд. Так вот, данные типа name, address, мне удалось высести, а вот ссылку на профиль, генерующуюся из id, нет. так и не могу понять как это сделать. Страница с профилем генерица след образом на php:
printf("<a href='page.php?id=%s'>%s</a><br>",$myrow['id'],
то есть мне нужно как то заменить эту функцию функцией на js, но никак не получается, ибо в js не очень силен. Почитав документацию, и сторонние блоги, вывод в балун происходит таким образом:
src_res=src_res+'<p><strong>Найдено объектов: '+data.users.length+'</strong></p>';
for (i = 0; i < data.users.length; i++) {
var placemark=new YMaps.Placemark(new YMaps.GeoPoint(data.users
placemark.description= '<div style="color:#ff0303;font
placemark.description = placemark.description+'<strong>Адрес:</strong> '+data.users[i].address+'
map.addOverlay(placemark);
geoBounds.add(new YMaps.GeoPoint(data.users
src_res=src_res+'<p><a href="#" onClick="return go_to('+data.users[i].lat+', '+data.users[i].lng+",'"+
}
map.setBounds(geoBounds);
}
else
{
var src_res = '<p><strong>результаты поиска</strong></p><font color="red">По Вашему запросу объектов на карте не найдено</font>';
}
YMaps.jQuery('#result').html(src_res);
})
}
function go_to(lat,lng,name,address,telephone,id){
map.setCenter(new YMaps.GeoPoint(lat,lng),17);
map.removeAllOverlays(
var placemark=new YMaps.Placemark(new YMaps.GeoPoint(lat,lng)
placemark.name='<div style="color:#ff0303;font
placemark.description = '<strong>Адрес:</strong> '+address+'<br><strong>Телефон:</strong> '+telephone+'</div></div>';
map.addOverlay(placemark);
placemark.openBalloon(
return false;
}
function clearLocations() {
map.removeAllOverlays(
geoResult = 0;
YMaps.jQuery('#result').html('');
}
А запрос к базе, осуществляется с помощью json:
include("bd.php");
header('Content-Type: text/html; charset=utf-8');
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
$center = $_GET["center"];
$exp_str1 = explode(",", $center);
$center_lat = $exp_str1[0];
$center_lng = $exp_str1[1];
$radius = $_GET["radius"];
$json = '{users:['."\n";
$query = sprintf("SELECT address, name, telephone, lat, lng, ( 6371 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM users HAVING distance < '%s' ORDER BY distance LIMIT 0, 20",
mysql_real_escape_string($center_lat),
mysql_real_escape_string($center_lng),
mysql_real_escape_string($center_lat),
mysql_real_escape_string($radius)
$result = mysql_query($query);
if (!$result) {
die("Invalid query: " . mysql_error()
}
if(mysql_num_rows($result)>0)
{
while ($row = mysql_fetch_array($result)){
$json.= "\n".'{'.'"id": "'.$par1['id'].'",';
$json.= '"name": "'.$row['name'].'",';
$json.= '"telephone": "'.$row['telephone'].'",';
$json.= '"address": "'.htmlspecialchars($row['address']).'",';
$json.= '"distance": "'.$row['distance'].'",';
$json.= '"lat": "'.$row['lat'].'",';
$json.= '"lng": "'.$row['lng'].'"';
$json.= '},';
}
$json = substr($json, 0,-1);
echo $json;
echo '], ', "\n", '"status": "OK"', "\n", '}';
}
else
{
echo '{"status": "false"}';
}
}
?>