Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MSSQL+PHP] Jak wyciągnąć z zapytania 3 ostatnie wartości z zapytania - statusy
Forum PHP.pl > Forum > Bazy danych
roome
Witam,
Zapytanie mssql (status usera)

  1. $query = "select [Time] as czas, [ActionId] as stat, [UserId] as id_czlowiek from ActionLog
  2. where ActionLog.[UserId]=16
  3. order by ActionLog.[time] DESC";


zwraca mi wyniki posortowane wg czasu (okreslone wartosci liczbowe z zakresu 0-20).

Obecnie całość wygląda tak :

  1.  
  2. $result = odbc_exec($connect, $query);
  3.  
  4. for ($i=0;$i<1;$i++)
  5.  
  6. {
  7. $wynik=odbc_fetch_row($result);
  8. $czas = odbc_result($result, "czas");
  9. $id_czlowiek = odbc_result($result, "id_czlowiek");
  10. $stat = odbc_result($result, "stat");
  11.  
  12. $actionReactionArray = array(
  13.  
  14. 0 => ' <td align=center><font color="green"><h1>'.$czas.' '.$id_czlowiek.' - status 1</h1></font></td>',
  15. 1 => ' <td align=center><font color="silver"><h1>'.$czas.' '.$id_czlowiek.' - status 2</h1></font></td>',
  16. 2 => ' <td align=center><font color="orange"><h1>'.$czas.' '.$id_czlowiek.'- status 3</h1></font></td>',
  17. 3 => ' <td align=center><font color="green"><h1>'.$czas.' '.$id_czlowiek.'- status 4</h1></font></td>',
  18.  
  19. ...
  20.  
  21. );
  22.  
  23. echo $actionReactionArray[$stat];
  24. }
  25.  


i działa poprawnie - statusy userów aktualizaują się.

Sprawa się komplikuje bo teraz dany status jest ustaloną "kombinacją" ostatnich 3 wartości wyników zapytania np "0 4 5" - Status 1 "4 6 13" - Status 2

Czy jest możliwość wyciągnięcia 3 ostatnich wartości zapytania porównania ich z ustalonym wzorcem i zmiana statusu ?

  1. for ($i=0;$i<3;$i++)
Tak mogę otrzymać 3 ostatnie wartości ale co z tym dalej ;(

czyli np : 0 4 5 => ' <td align=center><font color="green"><h1>'.$czas.' '.$id_czlowiek.' - Zalogowany</h1></font></td>',

Proszę o pomoc, wskazówki
pianta_d
Może pomoże LIMIT questionmark.gif

Pozdrawiam
roome
Cytat(pianta_d @ 27.10.2011, 10:06:52 ) *
Może pomoże LIMIT questionmark.gif

Pozdrawiam


chodzi o LIMIT przy zapytaniu sql ? hmm nie ma go w skladni zapytan do MSSQL ;(

Jest TOP spróbuje ale co dalej - jak wynik 3 (wartosci) zapisac i porownac do wzorca a następnie w zależności od wyniku wykonać odpowiednią instrukcje jak to było dotychczas ?

  1.  
  2. $stat = odbc_result($result, "stat");
  3.  
  4. $actionReactionArray = array(
  5.  
  6. 0 => ' <td align=center><font color="green"><h1>'.$czas.' '.$id_czlowiek.' - status 1</h1></font></td>',
  7. 1 => ' <td align=center><font color="silver"><h1>'.$czas.' '.$id_czlowiek.' - status 2</h1></font></td>',
  8. 2 => ' <td align=center><font color="orange"><h1>'.$czas.' '.$id_czlowiek.'- status 3</h1></font></td>',
  9. 3 => ' <td align=center><font color="green"><h1>'.$czas.' '.$id_czlowiek.'- status 4</h1></font></td>',
  10.  
  11. ...
  12.  
  13. );
  14.  
  15. echo $actionReactionArray[$stat];
  16. }
  17.  
  18.  
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.