Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] podział rekordów, wyświetlanie rekordów z podziałem na miesiące
LifeGuard
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 2.05.2007

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


Witam
chciałbym wyświetlić dane z bazy danych tak aby rekordy z datą danego miesiąca były oddzielone od dat innego miesiąca.

mam teraz tak wyświetlane dane (datę przechowuje w DATETIME)


LP | nazwa | _data__ |
------------------------------
1. | rekord1 | 10.01.10 |
2. | rekord2 | 11.01.10 |
3. | rekord3 | 12.01.10 |
4. | rekord4 | 01.02.10 |
5. | rekord5 | 03.02.10 |
6. | rekord6 | 04.02.10 |

a potrzebuje zrobić separator (miesiąca) jak poniżej

LP | nazwa | _data__ |
------------------------------
1. | rekord1 | 10.01.10 |
2. | rekord2 | 11.01.10 |
3. | rekord3 | 12.01.10 |
------------------------------ <-- tutaj podział (np border:1px w css)
4. | rekord4 | 01.02.10 |
5. | rekord5 | 03.02.10 |
6. | rekord6 | 04.02.10 |


rozbijanie tego na 12 zapytań nie ma sensu, poza tym sposób nieodporny na zmianę roku

ma ktoś pomysł lub sposób jak to ugryźć?
siedzę i kombinuję i zaćmienie

z góry dzięki
Go to the top of the page
+Quote Post
Mustava
post
Post #2





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 2.03.2009

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


Może :

  1. $miesac_old="";
  2. while ($row=mysql_fetch_row($result)){
  3. $miesiac=substr($row[_data__],5,2);//wyciągnąć nr miesiąca
  4. if (($miesiac!=$miesiac_old)&&($miesiac_old!="")) {<echo"<HR>";}
  5. $old_miesac=$miesiac;
  6. }


Ten post edytował Mustava 11.01.2010, 10:34:15
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #3





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Albo:
  1. if (mysql_connect($sql_serwer, $sql_login, $sql_haslo) and mysql_select_db($sql_baza)) {
  2. $wynik = mysql_query("SELECT * FROM tabela ORDER BY miesiac DESC");
  3. }
  4.  
  5. if ($wynik) {
  6. // przetworzenie danych do postaci tablicy asocjacyjnej
  7. while($dane = mysql_fetch_array($wynik)) {
  8. $miesiac = trim($dane["miesiac"]);
  9. $tekst = trim($dane["tekst"]);
  10. if ($miesiac_poprzedni<>strtolower($miesiac)) {
  11. $miesiac_poprzedni = strtolower($miesiac);
  12. $klucz = $miesiac;
  13. }
  14. $t[$klucz][] = $tekst;
  15. }
  16.  
  17. // utworzenie tabeli na podstawie tablicy asocjacyjnej
  18. echo "<table border='1' cellpadding='3' cellspacing='0'>";
  19. foreach($t as $klucz=>$wartosc) {
  20. echo "<tr><td style='vertical-align:top;'>$klucz</td><td>";
  21. foreach($t[$klucz] as $wartosc) {
  22. echo "$wartosc<br />";
  23. }
  24. echo "</td></tr>";
  25. }
  26. echo "</table>";
  27.  
  28. }
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: 22.08.2025 - 14:54