
Mysql iki farkli tabloyu merge edip json çikti almak [yardim]
5
●85
- 04-02-2021, 18:37:10Arkadaşlar merhaba, burada takıldım kaldım. İki tane farklı tablom var. Bir users tablosu, diğeride comment tablosu. Bu Comment tablosundaki satırları user_id ile eşleştirip, yorumları users ın json çıktısına child olarak eklemek istiyorum. Anlatamadıysam diye örnek bir json hazırladım. Yardımcı olabilirseniz çok sevinirim.

- 04-02-2021, 21:12:34Kimlik doğrulama veya yönetimden onay bekliyor.Herhangi bir framework kullanılıyor mu ? Kullanılıyor ise relational yapı ile getirmek mümkün eğer kullanılmıyor ise önce user sorgusu atılıp gelen user'ı array'e çevirip sonrasında comments child'ı için comment'ler getirilip sonrasında json'a convert edilebilir.
- 04-02-2021, 22:10:27Herhangi bir framework kullanmıyorum hocam. "user sorgusu atılıp gelen user'ı array'e çevirip sonrasında comments child'ı için comment'ler getirilip sonrasında json'a convert ."clemury adlı üyeden alıntı: mesajı görüntüle
şimdi bu users array a çeviririmde hocam, her user_id e özel commentleri çekip, eklemeyi yapamadım. Bir örnek yapabilirseniz gerçekten mutlu olurum
- 05-02-2021, 01:55:46
<?php header('Content-type: application/json'); $db = new mysqli('localhost', 'root', '', 'test'); $db->query('SET NAMES utf8'); $users = $comments = $result = array(); $query = $db->query('SELECT * FROM user'); while ($row = $query->fetch_object()) { $users[$row->id] = $row; } $query = $db->query('SELECT * FROM comment'); while ($row = $query->fetch_object()) { if (isset($comments[$row->user_id])) { $comments[$row->user_id][] = $row; } else { $comments[$row->user_id] = array($row); } } foreach ($users as $row) { $result[] = array( 'user_id' => $row->id, 'bot_name' => $row->displayname, 'isActive' => $row->status, 'children' => (isset($comments[$row->id]) ? $comments[$row->id] : array()) ); } exit(json_encode($result, JSON_NUMERIC_CHECK));

- 05-02-2021, 16:12:37
- 07-02-2021, 22:38:53@Instamatic; dostum geç gördüğüm için cevap veremedim, @G3da; çok güzel örneklendirmiş durumu. Kolay gelsin
