Первое сообщение - я несколько дней пытался исследовать и бороться, но я не могу решить следующую проблему, где я добавил второй запрос Select, чтобы выполнить некоторые расчеты расстояния от моей начальной точки до пунктов назначения в пределах определенного диапазона. Я получаю выводхорошо, но не в fromat, я могу использовать - у меня есть существующий скрипт, который выводит массив и передает его в шаблон smarty - это работает нормально, поэтому я использовал это для отладки, что идет не так в моей первой попытке.
Я использую printf("<pre>%s</pre>", print_r($myarrayname, true));
для отладки и получаю следующий вывод
Array
(
[firm] => company name 1
[loc1] => Inverness
[distance] => 0.800791320271485
)
Array
(
[firm] => company name 2
[loc1] => Inverness
[distance] => 0.972151789782665
)
Array
(
[firm] => company name 3
[loc1] => Inverness
[distance] => 1.04042401681383
)
и т. Д., Однако мой известный рабочий вывод выдает следующее с одним индексом и объединяет [firm] и [loc1] вместе (нопропуск имени индекса)
Array
(
[html] => company name 1 Inverness
)
Array
(
[html] => company name 2 Inverness
)
Array
(
[html] => company name 3 Inverness
)
Может кто-нибудь подсказать, как я могу преобразовать этот массив в показанный формат.Надеюсь, здесь достаточно информации - не хотел разбрасывать страницу ненужными вещами
Вот код
<code>// Start of Nearby query
$lat = trim($_REQUEST['lat']);
$lng = trim($_REQUEST['lng']);
$lat = (!empty($lat)? $lat : 57.45666); // starting point Latitude
$lng = (!empty($lng)? $lng : -4.22137);// starting point Longitude
$HelpQuery = sprintf("SELECT firm, loc1, ( 3959 * acos( cos( radians( %s ) ) * cos( radians( lat ) ) * cos( radians( longit ) - radians( %s ) ) + sin( radians( %s ) ) * sin( radians( lat ) ) ) ) AS distance FROM $my_table WHERE state='apr' HAVING distance > 0.01 ORDER BY distance LIMIT 1,5",$lat,$lng,$lat);
$HelpResult = mysql_query($HelpQuery);
$result = array();
$result['html'] = "";
if($HelpResult)
{
while($Helprow = mysql_fetch_assoc($HelpResult))
printf("<pre>%s
", print_r ($ Helprow, true)); // Печать в 3 строкикаждый из которых имеет свой собственный индекс - нужно объединить с одним индексом {$ Helprow ['distance'] = round ($ Helprow ['distance'], 2); $ result ['html'] [] = $ Helprow;}} else{$ result ['html'] = "Error";} // Конец листинга рядом с MOD