Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 1
Регистрация: 01.12.2015
Сообщений: 73

Подскажите как формировать подобный массив выбирая данные из базы данных mysql?

29.04.2017, 14:30. Показов 1426. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как автоматически формировать подобный массив выбирая данные из базы данных mysql?

PHP
1
2
3
4
5
$testLocs = array(
    'loc1' => array( 'info' => 'aaa', 'lat' => 0, 'lng' => 144.9634 ),
    'loc2' => array( 'lat'  => 0, 'lng' => 14.5144 ),
    'loc3' => array( 'info' => '3. New Random info' )
);
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.04.2017, 14:30
Ответы с готовыми решениями:

Как формировать отчеты из базы данных MySql в google таблицы?
Имеется база данных о проделанной работе сотрудников. Надо сформировать отчет в Google таблицы за определенный период при нажатии на...

Как выводить данные по условию из базы данных mysql
Из базы данных запросы выводятся в таблицу,как выводить по условию только если >0;т.е если Пример: Коэффициент паров 1 Коэффициент...

Как сделать так чтобы данные в графике брались из базы данных MySQL?
Есть скрипт в виде графика на js. Как сделать так чтобы данные в графике брались из базы данных MySQL

9
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
29.04.2017, 15:25
покажите запрос для получение этих данных
0
0 / 0 / 1
Регистрация: 01.12.2015
Сообщений: 73
29.04.2017, 15:49  [ТС]
а что там показывать.. просто все данные беру из таблицы

PHP
1
$query = mysql_query("SELECT * FROM location");
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,229
30.04.2017, 01:39
PHP
1
2
3
4
5
$res = $db->query("SELECT ...");
while ($row = $res->fetch_assoc())
{
    $testLocs[] = $row;
}
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
30.04.2017, 12:28
PHP
1
2
3
4
5
6
7
# Mysqli
$res = $db->query("SELECT ...");
$testLocs = $res->fetch_all(MYSQLI_ASSOC);
 
# PDO
$result = $db->query("SELECT ...");
$locations = $result->fetchAll(PDO::FETCH_ASSOC);
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
30.04.2017, 12:50
Лучший ответ Сообщение было отмечено RAFAELLO2015 как решение

Решение

Цитата Сообщение от полудух Посмотреть сообщение
$testLocs[] = $row;
думаю, нужно еще добавлять ключи.
типа
PHP
1
$testLocs['loc1'] = $row;
0
0 / 0 / 1
Регистрация: 01.12.2015
Сообщений: 73
30.04.2017, 13:07  [ТС]
Всем спасибо. У меня вчера это уже получилось

Добавлено через 4 минуты
А спрашивал вот почему..

Нашел в инете вот такой примерчик
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
$(function() {
    var locations = {};//A repository for markers (and the data from which they were constructed).
 
    //initial dataset for markers
    var locs = {
        1: { info:'11111. Some random info here', lat:-37.8139, lng:144.9634 },
        2: { info:'22222. Some random info here', lat:46.0553, lng:14.5144 },
        3: { info:'33333. Some random info here', lat:-33.7333, lng:151.0833 },
        4: { info:'44444. Some random info here', lat:27.9798, lng:-81.731 }
    };
    var map = new google.maps.Map(document.getElementById('map_2385853'), {
        zoom: 1,
        maxZoom: 8,
        minZoom: 1,
        streetViewControl: false,
        center: new google.maps.LatLng(40, 0),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    var infowindow = new google.maps.InfoWindow();
 
var auto_remove = true;//When true, markers for all unreported locs will be removed.
 
function setMarkers(locObj) {
    if(auto_remove) {
        //Remove markers for all unreported locs, and the corrsponding locations entry.
        $.each(locations, function(key) {
            if(!locObj[key]) {
                if(locations[key].marker) {
                    locations[key].marker.setMap(null);
                }
                delete locations[key];
            }
        });
    }
 
        $.each(locObj, function(key, loc) {
            if(!locations[key] && loc.lat!==undefined && loc.lng!==undefined) {
                //Marker has not yet been made (and there's enough data to create one).
 
                //Create marker
                loc.marker = new google.maps.Marker({
                    position: new google.maps.LatLng(loc.lat, loc.lng),
                    map: map
                });
 
                //Attach click listener to marker
                google.maps.event.addListener(loc.marker, 'click', (function(key) {
                    return function() {
                        infowindow.setContent(locations[key].info);
                        infowindow.open(map, locations[key].marker);
                    }
                })(key));
 
                //Remember loc in the `locations` so its info can be displayed and so its marker can be deleted.
                locations[key] = loc;
            }
            else if(locations[key] && loc.remove) {
                //Remove marker from map
                if(locations[key].marker) {
                    locations[key].marker.setMap(null);
                }
                //Remove element from `locations`
                delete locations[key];
            }
            else if(locations[key]) {
                //Update the previous data object with the latest data.
                $.extend(locations[key], loc);
                if(loc.lat!==undefined && loc.lng!==undefined) {
                    //Update marker position (maybe not necessary but doesn't hurt).
                    locations[key].marker.setPosition(
                        new google.maps.LatLng(loc.lat, loc.lng)
                    );
                }
                //locations[key].info looks after itself.
            }
        });
    }
 
    var ajaxObj = {//Object to save cluttering the namespace.
        options: {
            url: "........",//The resource that delivers loc data.
            dataType: "json"//The type of data tp be returned by the server.
        },
        delay: 10000,//(milliseconds) the interval between successive gets.
        errorCount: 0,//running total of ajax errors.
        errorThreshold: 5,//the number of ajax errors beyond which the get cycle should cease.
        ticker: null,//setTimeout reference - allows the get cycle to be cancelled with clearTimeout(ajaxObj.ticker);
        get: function() { //a function which initiates 
            if(ajaxObj.errorCount < ajaxObj.errorThreshold) {
                ajaxObj.ticker = setTimeout(getMarkerData, ajaxObj.delay);
            }
        },
        fail: function(jqXHR, textStatus, errorThrown) {
            console.log(errorThrown);
            ajaxObj.errorCount++;
        }
    };
 
    //Ajax master routine
    function getMarkerData() {
        $.ajax(ajaxObj.options)
          .done(setMarkers) //fires when ajax returns successfully
          .fail(ajaxObj.fail) //fires when an ajax error occurs
          .always(ajaxObj.get); //fires after ajax success or ajax error
    }
 
    setMarkers(locs);//Create markers from the initial dataset served with the document.
    //ajaxObj.get();//Start the get cycle.
 
    // *******************
    //test: simulated ajax
    /*
    var testLocs = {
        1: { info:'1. New Random info and new position', lat:-37, lng:124.9634 },//update info and position and 
        2: { lat:70, lng:14.5144 },//update position
        3: { info:'3. New Random info' },//update info
        4: { remove: true },//remove marker
        5: { info:'55555. Added', lat:-37, lng:0 }//add new marker
    };
    setTimeout(function() {
        setMarkers(testLocs);
    }, ajaxObj.delay);
    */
    // *******************
});

Он как бы рабочий но этот массив понятное дело с сервера получать нужно. Я с базы данных выбераю формирую этот массив.
Осталось разобраться как его правильно в js коде принять и создать на карте маркеры) Все в реальном времени конечно.

Делал я для одного маркера ( не так как в примере ). Все работало. Но я не знаю как делать когда много маркеров
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,229
30.04.2017, 18:33
Цитата Сообщение от fanatikus Посмотреть сообщение
думаю, нужно еще добавлять ключи.
они там и так будут - 0123
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
30.04.2017, 18:51
Цитата Сообщение от полудух Посмотреть сообщение
они там и так будут - 0123
это ясно, я имел в виду ключи как у Т.С в примере
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,229
30.04.2017, 18:51
да не нужны они
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.04.2017, 18:51
Помогаю со студенческими работами здесь

Не хочет удалять и редактировать данные из базы данных (MySQL + PHP)
Всем привет, у меня возникла такая проблема. Почему-то перестало удалять данные из базы данных. Хотя пару часов назад всё работало. ...

Не могу понять почему не работает скрипт вытягивающий данные с базы данных mySQL
Сайт залит в хостинг, база данных создана, и скрипт устанавливает соединение с ней, но чет не работает. Никак не могу понять в чем дело....

Массив полученных данных из базы MySql
Здравствуйте. А что функция mysqli_fetch_array работает только в цикле while? Просто если без цикла присвоить переменной значения этой...

Записать в RAGrid (RadAsm) данные, полученные из базы данных при помощи MySql API
Решил одну проблему, появилась новая. База данных MySql. При помощи Mysql API, пишу в базу, читаю из базы. А вот записать, RaGrid...

Как из базы MySQL вывести данные в Android Studio?
Мне необходимо вывести данные из базы MySQL в Android Studio. Каким образом это можно сделать? Код подключения к базе: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru