• 13-06-2015, 21:09:17
    #1
    Arkadaşlar MYSQL'de aşağıdaki gibi bir tablom var:

    name         folder    path
    Ali          787       01.jpg,02.jpg,03.jpg,04.jpg,05.jpg...
    Ali          788       01.jpg,02.jpg,03.jpg,04.jpg,05.jpg,06.jpg...
    Veli         332       01.jpg...
    Veli         333       01.jpg,02.jpg...
    Bu tablodan Php veri çekip Json verisi oluşturmaya çalışıyorum. Çoğu kısmı hallettim fakat dizileri iç içe geçirmeyi halledemedim.

    PHP:
    $rows = array();
    while($r = mysqli_fetch_assoc($result)) {   
        $rows[] = $r;
    }
    
    $nArray = array();
    while($r = mysqli_fetch_assoc($result)) {   
       $nArray[$r["name"]][] = array('folder' => $r['folder'], 'path' => explode(",", $r['path']))
    }
    
    print json_encode($nArray);
    İstenen çıkış:
    [
        
            {"name":"Ali"},
            {"random": [
                {
                    "folder": "787",
                    "Paths": ["1.jpg", "2.jpg", "3.jpg"]
                },
                {
                    "folder": "788",
                    "Paths": ["1.jpg", "2.jpg", "3.jpg"]
                }
            ]
        },
       
            {"name":"Veli"},
            {"random": [
                {
                    "folder": "332",
                    "Paths": ["1.jpg", "2.jpg", "3.jpg"]
                },
                {
                    "folder": "333",
                    "Paths": ["1.jpg", "2.jpg", "3.jpg"]
                }
            ]
        }
    ]

    Şuanki çıkış:
    [
        
            {"Ali": [
                {
                    "folder": "787",
                    "Paths": ["1.jpg", "2.jpg", "3.jpg"]
                },
                {
                    "folder": "788",
                    "Paths": ["1.jpg", "2.jpg", "3.jpg"]
                }
            ]
        },
       
            {"Veli": [
                {
                    "folder": "332",
                    "Paths": ["1.jpg", "2.jpg", "3.jpg"]
                },
                {
                    "folder": "333",
                    "Paths": ["1.jpg", "2.jpg", "3.jpg"]
                }
            ]
        }
    ]
  • 13-06-2015, 21:29:02
    #2
    Yapmak istediginiz ornekte ayni seviyedeki elementlerde ayni key(name ve random) kullanilmis
  • 13-06-2015, 23:20:34
    #3
    Üyeliği durduruldu
    sql düzenleyin öyle döngü yapılmaz, join ile alın array yapın
  • 14-06-2015, 01:49:12
    #4
    BHCoder adlı üyeden alıntı: mesajı görüntüle
    sql düzenleyin öyle döngü yapılmaz, join ile alın array yapın
    Hocam 2 farklı tablo mu oluşturmalıyım o zaman? Birde bir folderdaki bütün resimlerin yolunu tek bir hücreye mi yoksa her bir resmin yolunu ayrı ayrı hücrelerde saklamalıyım? Aşağıya örnek oluşturuyorum.

    Bu şekilde oluşturursam istediğim arrayı alabilir miyim?
    name         folder    path
    Ali          787        01.jpg
    Ali          787        02.jpg
    Ali          787        03.jpg
    Ali          787        04.jpg
    .             .             .
    .             .             .
    .             .             .
    Ali          788        01.jpg
    .              .           .
    .              .           .
    Veli         332       01.jpg
    Veli         332       02.jpg
    Veli         332       03.jpg