login  Naam:   Wachtwoord: 
Registreer je!
 Forum

datums sorteren

Offline Simon - 22/03/2006 16:30 (laatste wijziging 22/03/2006 16:33)
Avatar van SimonPHP expert ik heb een db structuur met: username, last_login1, last_login2 enz tot last_login5
ik haal ze uit de database en print ze af, maar het gebeurt dat ze niet goed geordend zijn:
Citaat:
- 22-03-2006 14:13
- 22-03-2006 14:22
- 22-03-2006 16:25
- 22-03-2006 13:55
- 22-03-2006 14:02

dat komt omdat ik telkens een datum overschrijf;
die 4e (13:55) was de 4e login (last_login4) nadat ik geregistreerd was, daarna volgde de 5e (last_login5), en dan weer naar last_login1, daarom klopt de volgorde dus niet..
Hoe kan ik dit oplossen? een order by ofzo, ik weet niet zo goed hoe 

ter info; ik werk met timestamps die ik zo fetch:
  1. <?php
  2. while($array = $mysql->fetch_assoc($gUsers)) {
  3. ?>
  4. - <?= (!empty($array['last_login1'])) ? date("d-m-Y H:i", $array['last_login1']) : "&nbsp;(geen)"; ?><br />
  5.  
  6. - <?= (!empty($array['last_login2'])) ? date("d-m-Y H:i", $array['last_login2']) : "&nbsp;(geen)"; ?><br />
  7.  
  8. - <?= (!empty($array['last_login3'])) ? date("d-m-Y H:i", $array['last_login3']) : "&nbsp;(geen)"; ?><br />
  9.  
  10. - <?= (!empty($array['last_login4'])) ? date("d-m-Y H:i", $array['last_login4']) : "&nbsp;(geen)"; ?><br />
  11.  
  12. - <?= (!empty($array['last_login5'])) ? date("d-m-Y H:i", $array['last_login5']) : "&nbsp;(geen)"; ?><br />
  13. <?php } ?>

5 antwoorden

Gesponsorde links
Offline BramBo - 22/03/2006 16:45
Avatar van BramBo JS gevorderde Ik zou ze samen voegen in een array en dan de array sorten, aangezien je in mysql wel op meerdere criteria kan sorteren maar deze niet als 'gelijkwaardig' beschouwd worden.

daarna gebruik je de functie sort($array, SORT_NUMERIC).
Offline Simon - 22/03/2006 16:53 (laatste wijziging 22/03/2006 16:55)
Avatar van Simon PHP expert ja, helemaal akkoord, maar hoe print ik ze dan?
en hoe steek ik ze in de $arr?

$arr = array($array['last_login1'],$array['last_login2'],enzovoort);

en dan?
Offline Thomas - 22/03/2006 17:01
Avatar van Thomas Moderator Heb je je logins wel opgeslagen als unixtime of DATETIME? Anders wordt het sorteren nogal lastig .
Offline BramBo - 22/03/2006 17:02
Avatar van BramBo JS gevorderde de array doorloopen of gewoon referen naar de indexes

dus :
  1. $arr = array($array['last_login1'],$array['last_login2'],enzovo
  2. ort);
  3.  
  4. sort($arr, SORT_NUMERIC);
  5.  
  6. #+-- dan de keuze dit :
  7. print $arr[0];
  8.  
  9. #+-- of (imo beter)
  10. foreach($arr AS $k => $v) { print $v; }
Offline Simon - 22/03/2006 17:06
Avatar van Simon PHP expert het lukt, echt bedankt man 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.208s