PHP ile JSON verisini veri tabanında güncellemek

PHP Codeigniter

JSON (JavaScript Object Notation), veri depolamak ve iletmek için kullanılan hafif bir veri formatıdır. PHP ile çalışırken sıklıkla JSON formatını kullanırız. Bu blog yazısında, PHP kullanarak bir JSON verisini veritabanında nasıl güncelleyebileceğinizi öğreneceksiniz.

PHP ile JSON verisini veritabanında güncellemek için aşağıdaki adımları izleyebilirsiniz:

  1. Öncelikle JSON verisini bir değişkene yükleyin veya bir dosyadan okuyun.
  2. JSON verisini PHP'de diziye çevirin (json_decode() fonksiyonunu kullanarak).
  3. Diziyi güncelleyin.
  4. Güncellenmiş diziyi JSON formatına dönüştürün (json_encode() fonksiyonunu kullanarak).
  5. Veritabanında güncelleme işlemini gerçekleştirin.

Örnek PHP kodu aşağıdaki gibi olabilir:

<?php

// Veritabanı bağlantısı için gerekli bilgiler
$servername = "localhost";
$username = "kullanici_adi";
$password = "sifre";
$dbname = "veritabani_adi";

// Veritabanı bağlantısını oluştur
$conn = new mysqli($servername, $username, $password, $dbname);

// Bağlantıyı kontrol et
if ($conn->connect_error) {
    die("Veritabanı bağlantısı başarısız: " . $conn->connect_error);
}

// JSON verisi dosyadan okunabilir veya bir değişkene atanabilir
$json_data = '{"name": "John", "age": 30, "city": "New York"}';

// JSON verisini diziye çevir
$data = json_decode($json_data, true);

// Diziyi güncelle
$data['age'] = 31; // Örnek bir güncelleme

// Diziyi JSON formatına dönüştür
$updated_json_data = json_encode($data);

// Veritabanında güncelleme işlemi
$sql = "UPDATE json_table SET json_column = '$updated_json_data' WHERE id = 1"; // Örnek bir SQL sorgusu
if ($conn->query($sql) === TRUE) {
    echo "Veri başarıyla güncellendi";
} else {
    echo "Hata: " . $sql . "<br>" . $conn->error;
}

// Veritabanı bağlantısını kapat
$conn->close();

?>

Bu örnek kod, "json_table" adında bir tablo kullanarak "json_column" adlı bir sütunda JSON verisini saklar ve bu veriyi günceller. Gerçek duruma göre, veritabanı bağlantısı ve sorgusu değiştirilmelidir.

CodeIgniter'de PHP ile JSON verisini veri tabanında güncellemek

Peki bu işlemleri CodeIgniter'de yapabilir miyiz? 
Evet, tabii ki, CodeIgniter 3 kullanarak da JSON verisini veritabanında güncelleyebilirsiniz. CodeIgniter, PHP tabanlı bir framework olduğu için önceki örnekteki gibi temel PHP işlemleriyle aynı adımları takip edeceğiz. Ancak, CodeIgniter'in kendi model-view-controller (MVC) yapısını kullanacağız.

İşte CodeIgniter 3 kullanarak JSON verisini veritabanında güncellemenin örnek bir yolu:

  1. Öncelikle, CodeIgniter projesindeki "models", "views" ve "controllers" dizinleri içinde uygun dosyaları oluşturun.

  2. Model dosyasında, veritabanı bağlantısı ve güncelleme işlemi gerçekleştirilecek fonksiyonu tanımlayın.

  3. Controller dosyasında, model fonksiyonunu çağırarak JSON verisini güncelleyin ve gerekirse bir görünüm dosyasına gönderin.

  4. View dosyasında, isteğe bağlı olarak güncellenmiş JSON verisini gösterebilirsiniz.

Aşağıda, bu adımları takip eden basit bir örnek verilmiştir:

1. Model Dosyası (Json_model.php)

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Json_model extends CI_Model {

    public function __construct() {
        parent::__construct();
        // Veritabanı bağlantısı
        $this->load->database();
    }

    public function updateJsonData($id, $newData) {
        // Güncelleme işlemi için SQL sorgusu
        $this->db->set('json_data', $newData);
        $this->db->where('id', $id);
        $this->db->update('json_table');
        return ($this->db->affected_rows() > 0);
    }
}
?>

2. Controller Dosyası (Json_controller.php)

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Json_controller extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->model('Json_model');
    }

    public function updateJson() {
        // Örnek JSON verisi
        $newData = '{"name": "Jane", "age": 35, "city": "Los Angeles"}';
        $id = 1; // Güncellenecek verinin ID'si

        // Model fonksiyonunu çağırarak JSON verisini güncelle
        $result = $this->Json_model->updateJsonData($id, $newData);

        if ($result) {
            echo "Veri başarıyla güncellendi";
        } else {
            echo "Veri güncellenirken bir hata oluştu";
        }
    }
}
?>

3. Veritabanı Tablosu (json_table)

Örnek bir tablo şeması:

CREATE TABLE json_table (
    id INT AUTO_INCREMENT PRIMARY KEY,
    json_data TEXT
);

Bu örneklerde, Json_model sınıfı updateJsonData fonksiyonu ile JSON verisini güncellemek için veritabanı işlemlerini gerçekleştirir. Json_controller sınıfı ise bu model fonksiyonunu çağırarak güncelleme işlemini gerçekleştirir. Bu kodlar, CodeIgniter'in MVC yapısını kullanarak JSON verisinin güncellenmesini sağlar.

Ayrıca PHP Json POST edilen verileri almak adlı yazımızı veya PHP cURL ile JSON Data Göndermek adlı yazılarımız dikkatinizi çekebilir.


Yorumlar (0)

    Bu yazıya henüz bir yorum yapılmamış! İlk yorum yapan sen ol!