Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Sortowanie wynikow SHOW TABLE STATUS
Forum PHP.pl > Forum > Przedszkole
magier123
Mam kolejna sprawe... mianowicie jak posortowac wynik tego zapytania tak zeby wsywietlalo mi najnowsza date a nie pierwsza z bazy??

  1. <?php
  2. $mod = ("SHOW TABLE STATUS FROM mojabaza");
  3. $wynik = mysql_query ($mod);
  4. $dane = mysql_fetch_array($wynik);
  5. echo "<font>Data aktualizacji strony ".$dane["Update_time"]."</font>";
  6. ?>
devnul
Kod
order by update_time
?
magier123
  1. <?php
  2. order by update_time
  3. ?>


To nic tutaj nie pomoze bo to sie tyczy zaytania do bazy a w bazie nie ma ani tabeli ani rekordu o nazwie update_time. Problem tkwi w posortowaniu tego:

  1. <?php
  2. $dane = mysql_fetch_array($wynik);
  3. echo "<font>Data aktualizacji strony ".$dane["Update_time"]."</font>";
  4. ?>
devnul
faktycznie - nie przyjzalem sie zapytaniu które wykonujesz - pobieraj wyniki w pętli i uzyj usort do posortowania wyników, lub dowolnej innej metody sortowania
magier123
No wlasnie tylko ze prosilbym o podanie jakiegos kodu do tego bo nie mam pojecia jak w tym przypadku zastosowac sortowanie?? Help biggrin.gif
devnul
tak posortujemy:
  1. <?php
  2. function cmp($a, $b)
  3. {
  4. if ($a['Update_time'] == $b['Update_time']) {
  5. return 0;
  6. }
  7. return ($a['Update_time'] < $b['Update_time']) ? -: 1;
  8. }
  9.  
  10.  
  11. $mod = ("SHOW TABLE STATUS FROM mojabaza");
  12. $wynik = mysql_query ($mod);
  13. $res=array()
  14. while($dane = mysql_fetch_assoc($wynik)){
  15.  $res[]=$dane;
  16. }
  17.  
  18. usort($res, "cmp");
  19. print_r($res);
  20. ?>

ale można prościej bo jak rozumiem chcesz najwyższą date:
  1. <?php
  2. $data=null
  3. $mod = ("SHOW TABLE STATUS FROM mojabaza");
  4. $wynik = mysql_query ($mod);
  5.  
  6. while($dane = mysql_fetch_assoc($wynik)){
  7. if ($data==null || $dane['Update_time']>$data)
  8.  $data=$dane['Update_time'];
  9. }
  10. }
  11. echo "Aktualizacja: ".$data;
  12. ?>
magier123
WIELKIE DZIĘKI ZA POMOC.... ponizej podam juz dzialajacy sprawdzony kod.....

  1. <?php
  2. mysql_connect ("xxx ","xxx","xxx");
  3. mysql_select_db (mojabaza);
  4.  
  5. $data=null;
  6. $mod = ("SHOW TABLE STATUS FROM mojabaza");
  7.  
  8. $wynik = mysql_query ($mod);
  9.  
  10. while($dane = mysql_fetch_assoc($wynik))
  11. {
  12. if ($data==null || $dane['Update_time']>$data)
  13. {
  14.  $data=$dane['Update_time'];
  15. }
  16. }
  17.  
  18. echo "<font>Ostatnia aktualizacja strony: ".$data."</font>";
  19. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.