Új hozzászólás Aktív témák
-
fordfairlane
veterán
válasz
PumpkinSeed
#16698
üzenetére
A fetch_assoc és fetch_* társai egyszerre egy sort olvasnak be, tehát ha a sorrenden szeretnél változtatni valahogy, akkor vagy az adatbázis-lekérdezésedet kellene módosítani, hogy a PHP a megfelelő sorrendben kapja a recordsetet, vagy pedig be kell olvasni az összes sort egy PHP tömbbe, majd a PHP-ban végrehajtani a rendezést. A fetch_assoc egy rekordot tömbbe olvas be, de ez csak egy asszociatív tömb, aminek az elemei az aktuálisan beolvasott egyetlen rekord mezőit tartalmazzák.
Ha az adatbázis-lekérdezésnél nincsen rendezés-klauza (ORDER BY), akkor a kapott sorrend nem garantált. Sok esetben egyszerűen abban a sorrendben kapod meg a rekordokat, ahogy fizikailag egymás után helyezkednek el a háttértáron.
Esetben, ha jól értem, célszerű lenne felvenni egy plusz mezőt az adattáblába, amely eltárolná a feltöltés dátumát, és erre már lehetne növekvő vagy csökkenő sorrendű lekérdezést végrehajtani. Mysql-ben ezt egyszerű megoldani (TIMESTAMP DEFAULT CURRENT_TIME()), és ezt a mezőt a Mysql automatikusan be fogja állítani az aktuális időre a rekord létrejöttének pillanatában, a PHP kódban a rekordbeszúrásnál ezzel a mezővel nem is kell törődni.
Ha ez valamiért nem járható út, de a táblának van egy autoinkrement kulcsmezője, akkor arra is lehet rendezést végrehajtani.
HA ez sem jó valamiért, akkor csak az az út marad, hogy beolvasod az összes rekordot egy tömbbe, majd megfordítod az elemek sorrendjét (tán array_reverse(), vagy valami hasonló), majd végigmenve a tömbön, elvégzed a kiírást.
Új hozzászólás Aktív témák
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Mibe tegyem a megtakarításaimat?
- Kuponkunyeráló
- Tápos kibeszélő offtopik
- Projektor topic
- Okos Otthon / Smart Home
- BestBuy ruhás topik
- Apple MacBook
- Racoon City árnyékában: Teszteltük a Resident Evil Requiemet
- Óra topik
- További aktív témák...
- MacBook Pro M1 Max 2021 14" col 32GB ram 1TB SSD
- ASUS RTX5090 - TUF-RTX5090-32G-GAMING /ÚJ, BONTATLAN, MAGYAR KISKER GARANCIA, NEM CÉGES VÁSÁRLÁS/
- HP EliteMini 800 G9 vPro - i5-14500T 14C/20T - 16GB DDR5 5600 - 256GB SSD - BILL+EGÉR
- ASUS GeForce RTX 5060 Ti DUAL OC 16GB WHITE EDITION
- Xiaomi Adaptive Wireless Charger 80W & Xiaomi Hypercharge Combo 120W
- Eladó Apple iPhone 11 64GB fekete / 12 hó jótállás
- HP AI Laptop 15 - Intel Core Ultra 7 255U 16GB 512GB 1 év garancia
- Apple MacBook Air 13 (2020) M1 8GB/256GB használt, szép állapot 87% akku (317 ciklus)
- Apple iPhone 15 / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku:83%
- Lenovo Flex 5 - 14.0" Touch WUXGA - Ryzen 3 5300U - 8GB - 256GB - Win11 - Garancia - MAGYAR
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
