Joannes
@Joannes
html, css, js, angular, bootstrap

Как присвоить переменной массив с данными из бд что бы он был в скобках [] для дальнейшей записиси его в json?

Всем привет.

Монстры php помогите разобраться.

Делаю проект на локалке. Все работает.
Вот рабочий код.
$markob = $mysqli->query("SELECT * FROM map_markers");

$posts = array();

while($row=$markob->fetch_assoc())
{
    $id=$row['id'];
    $cat_id=$row['cat_id'];
    $cat=$row['cat'];
    $podcat=$row['podcat'];
    $popupTitle=$row['popupTitle'];
    $popupAdress=$row['popupAdress'];
    $popupPhone=$row['popupPhone'];
    $popupTime=$row['popupTime'];
    $popupSite=$row['popupSite'];
    $coordinates_s=$row['coordinates_s'];
    $coordinates_d=$row['coordinates_d'];



    $posts[] = array(   'type'=> "Feature",
                        'cat_id'=>$cat_id,
                            'properties'=> array (
                                'id'=> $id,
                                'cat'=> $cat,
                                'podcat'=> $podcat,
                                'popupTitle'=> $popupTitle,
                                'popupAdress'=> $popupAdress,
                                'popupPhone'=> $popupPhone,
                                'popupTime'=> $popupTime,
                                'popupSite'=> $popupSite),
                                    "geometry"=> array(
                                        'type'=>'Point',
                                            'coordinates'=> array($coordinates_d,$coordinates_s)
                                    )
    );
}


$fp = fopen('markers.json', 'w');

fwrite($fp, json_encode($posts, JSON_UNESCAPED_UNICODE));

fclose($fp);


А на хостинге не работает. Но если убираю скобки и оставляю $post_to_json[] то работает. Но мне так ненадо, мне нужно что бы в json потом сохранить в виде массива объектов.
  • Вопрос задан
  • 247 просмотров
Пригласить эксперта
Ответы на вопрос 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
У вас массив $post_to_json, в который вы пытаетесь добавить новый элемент, изначально создается?
Ответ написан
Writerim
@Writerim
Заполнить позже...
А права на запись файлов то у вас есть?
Попробуйте записать любой другой файл.
Если получится, то набейте вручную текст JSON формата и запишите.
Записалось? Ищите ошибку в строке fwrite($fp, json_encode($posts, JSON_UNESCAPED_UNICODE));
А лучше использовать file_put_contents
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы