мой массив входит в мою базу данных, но он стирает другие массивы в моей базе данных Firebase - PullRequest
0 голосов
/ 03 сентября 2018
<?php
//username
/*$mapId = $_GET['mapId']; 
$bike  = $_GET['bike'];
$lat   = (double)$_GET["lat"];
$lng   = (double)$_GET["lng"];
$ori   = (double)$_GET["ori"];*/

 $mapId = "2";
 $bike = "Yamaha ";
 $lat = 12346;
 $lng = 78945;
 $ori = 111111;
$time = time();

$url = 'https://granted-7cdeb.firebaseio.com/maps.json';
$arr = array($mapId =>array($bike =>array("coords"=>array("latitude"=>$lat, "longitude"=>$lng), "orientation"=>$ori, "timestamp"=>$time)));  
$data_string = json_encode($arr);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
echo $result = curl_exec($ch);

?>

Итак, проблема, с которой я сталкиваюсь, заключается в том, что когда я использую этот код, он отправляет мой массив в мою базу данных, но после того, как отправляет массив. он удаляет массив, который уже находится там, я хотел бы, чтобы это просто добавилось в мой массив, но для обновления lat, lng, ori. Я не хочу, чтобы это стерло массивы, которые уже есть или уже есть, как мне это сделать.

1 Ответ

0 голосов
/ 03 сентября 2018

База данных Firebase Realtime в действительности не имеет операции добавления в индексированный массив. То, что он предлагает, - это операция «push», при которой он генерирует новый основанный на времени уникальный строковый идентификатор и добавляет ваши данные под дочерний элемент с этим идентификатором. Вы рассматриваете уникальные идентификаторы строк как своего рода индекс массива. Обычно вы добавляете новые данные ребенку, а не перезаписываете все.

При использовании API REST базы данных Firebase для выполнения push-запроса вы будете использовать POST .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...