Добавление JSON данных в базу MySQL

201
09 января 2018, 15:19

Необходимо распарсить полученный JSON и добавить эти данные в таблицу. Добавление будет происходить при двух условиях.

  1. При наличии записи с тем же ID необходимо обновить поля.

  2. Если нет такого ID то просто добавить запись.

Я застрял с переборкой, получил двумерный массив, а теперь незнаю как правильно провести переборку:

    <?php
//Прием JSON-а
$data = json_decode(file_get_contents('php://input'));
if (!is_array($data)) die('Json convert error');
//соединяемся с БД 
function dbConnect(){
//$cn = mysqli_connect("localhost","root","","tosekdb");
$cn = mysqli_connect("host","user","pass","db");
return $cn;
}
//var_dump($cn);
return $cn;
}       
// Данные с базы для сравнения
$dbselect = mysqli ($cn, "SELECT pos_id FROM db");
mysqli_close($cn);
// Парсинг JSON-а
foreach($data as $element) {
    $fields = array();
    $values = array();
    foreach ($element as $field_name => $field_value) {
    $fields[] = $field_name;
    $values[] = $field_value;
}
}
for($i=0;$i<count($element);$i++){
    if ($values['id'] = $dbselect['id']) {
        $sql = ($cn, "UPDATE db SET 
name=".$values["name"]."count=".$values["count"]."artikul=".$values["atr"]" 
WHERE pos_id=".$values["id"])
    }
    else
        $sql = ($cn, "INSERT INTO db(name,count,atr,pos_id) VALUES 
("$values["name"].", ".$values["count"].",".$values["atr"].", 
".$values["id"])
  }

?>
READ ALSO
проблема при авторизации [требует правки]

проблема при авторизации [требует правки]

После авторизацией на сайт при переходе на другую страницу аккаунт меняется, то есть я попал на другой аккаунт, очень странноПомогите пожалуйста...

169
Вывод даты в WordPress

Вывод даты в WordPress

Есть плагин, который выводит дату для событий, нужно как-то поменять окончания месяцев, которые он выводит (не "14 февраль", а "14 февраля")

167
Подскажите, как выйти из аккаунта на сайте stackoverflow?

Подскажите, как выйти из аккаунта на сайте stackoverflow?

Захожу по паролю, но никак не могу найти где выход из аккаунта на сайтеСплошные голосования, ордена, медали, рейтинги, звания, конкурсы, концерты...

166
настройка пагинации

настройка пагинации

Подскажите, почему происходит дублирование адреса на первой странице?

168