Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Zapytanie sortowanie
mrk9109
post 21.03.2016, 18:48:43
Post #1





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


Witam otóż napisałem sobie prosty skrypt na swoją stronę z pracy i mam teraz takie pytanie jak zrobic zapytanie by wyświetlało oprócz według dni miesiąca malejąco ( ASC ) to też według dni . Ponieważ gdy są dodane dyżury z tego samego miesiąca to już jest problem

  1. <?php
  2.  
  3. $zapytanie=safe_query("SELECT `id`, `dzien`, `miesiac`, `rok` FROM ".PREFIX."dyzury ORDER by `miesiac` ASC");
  4.  
  5.  
  6. $ile = mysql_num_rows($zapytanie);
  7.  
  8. if($ile == 0)
  9. {
  10.  
  11. echo 'brak dyżurów';
  12.  
  13. }
  14.  
  15. if(mysql_num_rows($zapytanie)) {
  16. $i=0;
  17. $i=1;
  18. while($dn=mysql_fetch_array($zapytanie)) {
  19. $id=$dn['id'];
  20. $dzien=$dn['dzien'];
  21. $miesiac=$dn['miesiac'];
  22. $rok=$dn['rok'];
  23.  
  24. eval ("\$dyzury = \"".gettemplate("dyzury")."\";");
  25. echo $dyzury;
  26. $i++;
  27. }
  28. }
  29. echo '
  30. </table>';
  31.  
  32. ?>
  33.  
  34.  
Go to the top of the page
+Quote Post
nospor
post 21.03.2016, 18:52:55
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




zacznij od poprawienia bazy... nie trzy pola dzie miesiac rok a jedno pole DATE gdzie bedzie pelna data


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mrk9109
post 21.03.2016, 18:56:31
Post #3





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


ja wiem tylko to tak celowo jest zrobione , mozna zrobic tak jak pisalem by bralo tez pod uwage zmiena $dzien ?
Go to the top of the page
+Quote Post
nospor
post 21.03.2016, 18:58:33
Post #4





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Toz sie domyslam ze nie przypadkiem tak zrobiles... I celowo masz zrobione zle


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mrk9109
post 21.03.2016, 19:01:21
Post #5





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


to jezeli zastosuje date i zrobie to formie formularza i gdy skrypt mi pobierz aktualna date bede mogl zmienic na swoja ? sorry znam tylko podstawy i to slabe
Go to the top of the page
+Quote Post
nospor
post 21.03.2016, 19:02:13
Post #6





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Dobra, a teraz zadaj to pytanie jeszcze raz, tym razem po polsku smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
KsaR
post 21.03.2016, 19:12:33
Post #7





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Cytat(mrk9109 @ 21.03.2016, 19:01:21 ) *
to jezeli zastosuje date i zrobie to formie formularza i gdy skrypt mi pobierz aktualna date bede mogl zmienic na swoja ? sorry znam tylko podstawy i to slabe

Ale mało zrozumiale opisałeś.
Tak, można zmienić po wgraniu na własną datę.

Gdybyś miał to w 1 kolumnie(typu: "date") mozesz skorzystac z funkcji mysql:
Year(), day(), month() wraz z order by.
Nie wiem czy to rozwiazanie będzie dobre ale napewno lepsze bo 1 kolumna z datą zamiast 3.

Ps. Poczytaj o PDO lub mysqli. (Funkcje mysql_* zostaly skasowane w php7, oraz są deporcjonowane od php 5.5);

BTW. Po co ten eval? Powinno zadziałać i bez niego.. Jak się nie myle.

Ten post edytował KsaR 21.03.2016, 19:16:36


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 14:36