<?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. Я не хочу, чтобы он стирал массивы, которые или уже есть, как я могу это сделать.
надоело, что теперь он не удаляет его, но продолжает множиться вместо обновления Yamaha






В базе данных Firebase Realtime действительно нет операции добавления индексированного массива. Что он предлагает, так это операцию «проталкивания», при которой он генерирует новый зависящий от времени уникальный строковый идентификатор и добавляет ваши данные в дочерний элемент с этим идентификатором. Вы рассматриваете уникальные строковые идентификаторы как своего рода индекс массива. Это обычный способ добавления новых данных к дочернему элементу, а не перезаписи всего.
При использовании REST API базы данных Firebase в реальном времени вы будете использовать запрос СООБЩЕНИЕ для выполнения push.
не могли бы вы дать мне пример того, как использовать этот метод, я новичок в кодировании
удалите
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PATCH");и используйте вместо негоcurl_setopt($ch, CURLOPT_POST, 1);.