Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MSSQL+PHP] Jak wyciągnąć z zapytania 3 ostatnie wartości z zapytania - statusy, Porównanie 3 ostatnich wartości z zapytania z ustalonym wzorcem
roome
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 21.09.2011

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
pianta_d
post
Post #2





Grupa: Zarejestrowani
Postów: 176
Pomógł: 18
Dołączył: 5.01.2007

Ostrzeżenie: (0%)
-----


Może pomoże LIMIT (IMG:style_emoticons/default/questionmark.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
roome
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 21.09.2011

Ostrzeżenie: (0%)
-----


Cytat(pianta_d @ 27.10.2011, 10:06:52 ) *
Może pomoże LIMIT (IMG:style_emoticons/default/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.  
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 14:21