• 20-08-2023, 16:58:18
    #1
    Arkadaşlar merhabalar;

    MYSQL veritabanıma json_encode formatında veriyi sütuna kaydettim fakat bu veriyi ayrıntılı olarak sorgulayamıyorum. Nasıl yapılır çok uğraştım kaynaklarda yetmedi. Bir bakar mısınız?

    MYSQL Sütunda olan veri :
    [{"attribute":"Renk","value":"Kırmızı","price":10.9 9,"stock":5},
    {"attribute":"Renk","value":"Mavi","price":12.99," stock":3},
    {"attribute":"Renk","value":"Yeşil","price":8.99," stock":2},
    {"attribute":"Renk","value":"Turuncu","price":9.99 ,"stock":4}]

    HTML Kısmı

    <form action="al.php" method="post">
    <?php echo $attribute; ?> : <select name="varyasyon_baslik" >
    <?php foreach ($variations as $variation): ?>
    <option value="Kırmızı">
    <?php echo $variation['value'] . ' - ' . $variation['price'] . ' TL' . ' Adet ' . $variation['stock']; ?>
    </option>
    <?php endforeach; ?>
    </select>
    <input type="submit">
    </form>
    PHP Sorgu kodum : Arkadaşlar sütünda Kırmızı Renk var mı diye karşılaştırsın istiyorum Ama Aşağıdaki kodum hep yokkk diyor. SÜTUN daki değeri taramıyor nasıl yapılabilir. Çok uğraştım en son burada sizlere sormak istedim.
    <?php
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $selectedVariationValue = $_POST['varyasyon_baslik'];
    
    try {
    $query = "SELECT varyasyon_ic_baslik FROM urun_varyasyon WHERE JSON_CONTAINS(varyasyon_baslik, :varyasyon_baslik)";
    $stmt = $db->prepare($query);
    $stmt->execute([':varyasyon_baslik' => json_encode(['value' => $selectedVariationValue])]);
    
    $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    if ($results) {
    echo "Seçilen varyasyon veritabanında bulunuyor.";
    foreach ($results as $row) {
    $data = json_decode($row['varyasyon_baslik'], true);
    echo "Renk: " . $data['value'] . "<br>";
    echo "Fiyat: " . $data['price'] . "<br>";
    echo "Stok: " . $data['stock'] . "<br>";
    echo "<hr>";
    }
    } else {
    echo "Seçilen varyasyon veritabanında yok.";
    }
    } catch (PDOException $e) {
    die("Bağlantı hatası: " . $e->getMessage());
    }
    }
    
    ?>
  • 20-08-2023, 17:00:35
    #2
    imzadan ulaşabilirsiniz....
  • 20-08-2023, 18:46:36
    #3
    Aşağıdaki makale belki işinize yarayabilir.
    https://www.erbilen.net/mysqlde-json...iyle-calismak/
  • 20-08-2023, 23:55:47
    #4
    ahmtcn37 adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki makale belki işinize yarayabilir.
    https://www.erbilen.net/mysqlde-json...iyle-calismak/
    Güzel Paylaşım Teşekkürler
  • 21-08-2023, 18:18:48
    #5
    ahmtcn37 adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki makale belki işinize yarayabilir.
    https://www.erbilen.net/mysqlde-json...iyle-calismak/
    Teşekkür ederim tam itediğim gibi.