- Legyártotta az első wafert a TSMC arizonai gyára az NVIDIA számára
- Vezeték nélküli fülhallgatók
- Melyik tápegységet vegyem?
- Házimozi haladó szinten
- OLED TV topic
- Rendkívül ütőképesnek tűnik az újragondolt Apple tv
- Milyen videókártyát?
- Épített vízhűtés (nem kompakt) topic
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- eGPU tapasztalatok
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #343 üzenetére
Igazából csak kiegészíteném a többieket.
Ami a második részben szerepel, nem könnyen bejárható, egyetértek, hogy bővítsd ki plusz egy egyértelmű taggal, ami jelzi, hogy itt mondjuk termékek következnek.Jó csúnyán leegyszerűsítve az, amit most generálsz, azt PHP-oldalon pl. így lehet előállítani (a lényeg szempontjából mindegy, PHP-oldalon mondjuk objektumokként kéred-e le vagy asszociatív tömb formájában; ezenkívül nyilván Te adatbázisból kéred le ezeket, tehát ebből a szempontból eltér a dolog, meg abból is, hogy ott egy normális ciklus formájában adod át az adatokat, de a lényeg érthető):
$products_page = array();
$products_page['page'] = 2;
$products_page['linkoffset'] = 0;
$products_page['maxpage'] = 3;
$products_page[] = array(
'kep' => 'airtokoul.jpg',
'nev' => 'Air Tokoul ',
'marka' => 'Nike',
'regi_ar' => '20000',
'uj_ar' => '18000',
);
$products_page[] = array(
'kep' => 'airtokoul.jpg',
'nev' => 'Air Tokoul ',
'marka' => 'Nike',
'regi_ar' => '20000',
'uj_ar' => '18000',
);
$json_return_value = json_encode($products_page);
echo $json_return_value;Ebből a generált JSON:
{"page":2,"linkoffset":0,"maxpage":3,"0":{"kep":"airtokoul.jpg","nev":"Air Tokoul ","marka":"Nike","regi_ar":"20000","uj_ar":"18000"},"1":{"kep":"airtokoul.jpg","nev":"Air Tokoul ","marka":"Nike","regi_ar":"20000","uj_ar":"18000"}}Na ehelyett a PHP-oldalról előállítható kódot ki kéne egészítened valahogy így (lásd a plusz 'products' indexet):
$products_page = array();
$products_page['page'] = 2;
$products_page['linkoffset'] = 0;
$products_page['maxpage'] = 3;
$products_page['products'][] = array(
'kep' => 'airtokoul.jpg',
'nev' => 'Air Tokoul ',
'marka' => 'Nike',
'regi_ar' => '20000',
'uj_ar' => '18000',
);
$products_page['products'][] = array(
'kep' => 'airtokoul.jpg',
'nev' => 'Air Tokoul ',
'marka' => 'Nike',
'regi_ar' => '20000',
'uj_ar' => '18000',
);
$json_return_value = json_encode($products_page);
echo $json_return_value;Na és ebből a generált JSON már így néz ki:
{"page":2,"linkoffset":0,"maxpage":3,"products":[{"kep":"airtokoul.jpg","nev":"Air Tokoul ","marka":"Nike","regi_ar":"20000","uj_ar":"18000"},{"kep":"airtokoul.jpg","nev":"Air Tokoul ","marka":"Nike","regi_ar":"20000","uj_ar":"18000"}]}Ez utóbbit pedig jQuery-vel - szerintem jól átlátható módon - így tudod bejárni:
$ul_obj = $('<ul>', {
id: 'products-list'
});
for(product_index in data.products){
$li_obj = $('<li>', {'class': 'products-list-element'});
$li_obj.html(
data.products[product_index].nev
);
$li_obj.appendTo($ul_obj);
}
$ul_obj.appendTo('#content-area');Hátha ez így segített valamit.
Kérdezz, ha valami nem tiszta. -
Karma
félisten
válasz
Brown ügynök #343 üzenetére
Az első nem valid JSON. A másodikat annyiban módosítanám, hogy a termékeket nem közvetlenül a root objektumba tömném be, hanem tennék egy plusz attribútumot mondjuk "items" néven.
Jeges megoldása sajnos nem működne így, mert az objektum minden attribútumán végigmenne a ciklus, nem csak a számokon.
-
jeges
senior tag
válasz
Brown ügynök #343 üzenetére
a 2. eset egyszerűbb (és tisztább is ha jól értelmezem):
var obj = {...};
for(var i in obj){
var kep = obj[i].kep;
}
Új hozzászólás Aktív témák
- Bittorrent topik
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Arc Raiders
- Legyártotta az első wafert a TSMC arizonai gyára az NVIDIA számára
- Bemutatkozott a Poco X7 és X7 Pro
- Vezeték nélküli fülhallgatók
- Küszöbön az androidos PC-k
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Melyik tápegységet vegyem?
- Eredeti játékok OFF topik
- További aktív témák...
- Okosóra felvásárlás!! Samsung Galaxy Watch 5 Pro, Samsung Galaxy Watch 6 Classic
- Bomba ár! Dell Latitude 5400 - i5-8GEN I 16GB I 512SSD I 14" HD I HDMI I Cam I W11 I Gari
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- Lenovo Thinkpad L14 Gen 4 -14"FHD IPS - i5-1335U - 8GB - 256GB - Win11 - 2 év garancia - MAGYAR
- GYÖNYÖRŰ iPhone 14 128GB Purple -1 ÉV GARANCIA -Kártyafüggetlen, MS3676
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő