Ben burada bazı verimsiz kod yazma olmuştur inanıyorum, ama bunu yazma, daha verimli bir şekilde anlamaya gibi olamaz.
Ben de bazı html veya xml çıkışı ile sorunu yaşadım ama bu genellikle, json çıkışı ile olur.
I run a query in my database which brings back an array. Say a persons favorite foods. php's mysql_fetch_assoc returns
Array([person]=>john [food]=>chocolate) Array([person]=>john [food]=>pizza) Array([person]=>john [food]=>coffee) Array([person]=>susan [food]=>licorice)
Benim json veya html oluşturmak için, ben eşsiz kişiler arıyor döngü, ve sonra bu gibi gıda ekleyerek oldum
$jsonOut='' $personAdd=''; while($gotArray=mysql_fetch_assoc(foodArray)){ if($personAdd!='$gotArray['person']){ $jsonOut.="person: $gotArray['person'], foods{"; } $jsonOut.="food:$gotArray['food'],"; rtrim(jsonOut,','); $jsonOut.="}"; $personAdd=$array['person']; }
Şimdi sadece mysql yanıt sürekli tekrarlanan tek bir değer varsa, bu büyük bir anlaşma değil, ama değerleri aynıdır 4 veya 5 sütun yaşamaya başlarsanız, oldukça ayrıntılı almaya başlıyor.
Bunu yapmak için daha iyi bir yolu var mı?
-------------Clarifying what the output should look like ----------------- The final json for the above arrays should look like this
[ { "person": "john", "foods": [ { "food": "chocolate", "food": "pizza", "food": "coffee" } ] }, { "person": "susan", "food": "licorice" } ]
[{"yiyecek": "meyan"}] gibi bir şey ya da susan "gıdalar" olurdu.