Ú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
- PlayStation 5
- E-book olvasók
- World of Tanks - MMO
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Yettel topik
- Elektromos autók - motorok
- Egyre inkább szoftverrel segítene a Core CPU-k teljesítményén az Intel
- Lenovo Thinkbook, Yoga széria
- Projektor topic
- Xiaomi 14T - nem baj, hogy nem Pro
- További aktív témák...
- 27% - Corsair Hydro X XD7 RGB black (CX-9040005-WW)Pumpa/Tartály kombó
- ASUS ROG Strix RTX 4090 OC 24GB GDDR6X Videókártya! BeszámítOK!
- GYÖNYÖRŰ iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3293
- Azonnali készpénzes AMD Radeon RX 5000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- 2színben! Lenovo Yoga PRO 9 Ultra 9 285H 32GB RAM 1TB SSD RTX 5060 8GB 16" QHD+OLED 3év Prémium GAR
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
