MySQL táblából JSON - hogyan?
Van nekem egy ilyen MySQL-táblám:
szeretnék belőle egy ilyen JSON-objektumot:
Hogyan lehetne ezt elegánsan megoldani?
<?php
$d = new DOMDocument();
if (@$d->loadHTMLFile(' [link] === TRUE) {
foreach($d->getElementsByTagName('a') as $a) if ($a->nodeValue === 'raw code') {
$s = array(); preg_match_all('/\|\s*(\d+)\s*\|\s*(\d+)\s*\|\s*(.+?)\s*\|/', file_get_contents($a->getAttribute('href')), $g);
for ($i = 0; $i < count($g[0]); ++$i) $s[$g[1][$i]] = array('name' => $g[3][$i], 'pid' => $g[2][$i], 'children' => array());
$r = array(); foreach ($s as &$v) if (array_key_exists($v['pid'], $s)) $s[$v['pid']]['children'][] = &$v; else $r[] = &$v;
unset($s); echo json_encode($r); break;
}
}
?>
#1 hehe ez vicces volt :)
De komolyan: a táblát először is nyilván meg kell nyitnod és ki kell szedned belőle az adatokat. Ez soronként menni is fog mondjuk mysqli vagy pdo segítségével. A sorokat tömbként egy másik tömb elemeiként mented el, majd a végleges több dimenziós tömbre ráengeded a json_encode függvényt és kész is vagy.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!