Клуб API Карт

Корректировка скрипта вывода метки на карту

ImSergeyS
13 декабря 2014, 18:51

Есть php файл, используемый для вывода меток на карту

 

<?php

header('Content-Type: text/html; charset=utf-8');

require ("config.php");

if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {

 

$result = mysql_query("SELECT * FROM addresses");

if(mysql_num_rows($result)>0)

{

while ($mar = mysql_fetch_array($result))

{

$json =  array(name=>$mar['name'], descriptions=>$mar['descriptions'], lat=>$mar['cx'], lng=>$mar['cy']);

$markers[] = $json;

}

}

$points = array(markers=>$markers);

echo json_encode($points);

}

?>

 

Все хорошо работает, только решил изменить структуру таблицы в БД. Теперь у меня не 2 столбца cx и cy, а один coords. Так вот вопрос в том, как подправить код, чтобы метка выводилась? А то вроде задача легкая, а никак не получится(

3 комментария
Подписаться на комментарии к посту

 

Теперь у меня не 2 столбца cx и cy, а один coords. 

Берете значение этого столбца, делаете split по разделителю – получаете 2 строки, приобразовываете их в числа

Еще надо поправить клиентский код, имя поля же изменилось

По split() нашел информацию, применяю согласно описанию:

while ($mar = mysql_fetch_array($result))

{

list($cx, $cy)= split (",", $coords, 2);

$json =  array(name=>$mar['name'], descriptions=>$mar['descriptions'], lat=>$cx, lng=>$cy);

$markers[] = $json;

Не работает правильно. Затем нашел другое описание применения:

while ($mar = mysql_fetch_array($result))

{

var coords = ($mar['coords']).split(" ")

    ,lng = coords[0]

    ,lat = coords[1]

$json =  array(name=>$mar['name'], descriptions=>$mar['descriptions'], lat, lng);

$markers[] = $json;

}

Также не работает. Пробовал использовать explode. Видать я что-то неправильно делаю. Если не сложно, могли бы на моем примере правильно показать, как это делается?

Я так понимаю вам нужен explode

Я сам пехапе не знаю, если не получается, лучше задать этот вопрос где-нибудь на сайтах про пехапе