Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]kalendarz spotkań meczowych, wypisywanie daty i nr kolejki co 5 przejście pętli
Oscar_83
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

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


Witam, próbuje zrobić kalendarz spotkań meczowych, może wrzuce kawałek kodu:
  1. <?php
  2. $query = "SELECT data, kolejka, druzyna_a, druzyna_b, wynik_a, wynik_b FROM kalendarz
    _spotkan ORDER BY kolejka ASC"
    ;
  3. $results = mysql_query($query) or die (mysql_error());
  4. while ($row = mysql_fetch_array($results)) {
  5. echo $row['data'];
  6. echo "&nbsp &nbsp &nbsp ";
  7. echo $row['kolejka'];
  8. echo "<br>";
  9. echo $row['druzyna_a'];
  10. echo " - ";
  11. echo $row['druzyna_b'];
  12. echo "&nbsp &nbsp &nbsp ";
  13. echo $row['wynik_a'];
  14. echo " - ";
  15. echo $row['wynik_b'];
  16. echo "<br>";
  17. };
  18. ?>

przy takim kodzie 4 przejścia pętli dają mi coś takiego:
2007-04-01 1
OSP Karolew - CF Helios Szczecin 5 - 3
2007-04-01 1
Tyszanka - kazikFC 3 - 0
2007-04-01 1
Cidry Edinburgh - AC Prezbiter 5 - 2
2007-04-01 1
Oscary - FC Atole 6 - 2

to jest cała pierwsza kolejka (4 mecze), a chciałbym żeby to wyglądało tak:
2007-04-01 1
OSP Karolew - CF Helios Szczecin 5 - 3
Tyszanka - kazikFC 3 - 0
Cidry Edinburgh - AC Prezbiter 5 - 2
Oscary - FC Atole 6 - 2

czyli chciałbym żeby date i nr kolejki pokazywało mi co 5 przejście pętli, wtedy gdy się zmienia ta data i nr kolejki, wie ktoś może jak to zrobić?? I najlepiej żeby po tym ukazaniu 4 meczy przed nową datą i nr kolejki zrobiło tak ze 2 odstępy pionowe. Da się coś takiego zrobić? a może mam jakoś przebudować bazę danych żeby coś takiego było możliwe??
bardzo proszę o pomoc, gdyż jestem początkującym w tworzeniu stron.

temat został przeniesiony z przedszkola, może tu ktoś mi poradzi.

Ten post edytował Oscar_83 17.05.2007, 19:06:58
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pontifex_Maximus
post
Post #2





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

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


Można to zrobić na przykład tak:

  1. <?php
  2.  
  3. $kalendarz_spotkan[] = array();
  4.  
  5. $query = 'SELECT data, kolejka, druzyna_a, druzyna_b, wynik_a, wynik_b
  6. FROM kalendarz_spotkan ORDER BY kolejka ASC';
  7.  
  8. $results = mysql_query($query) or die (mysql_error());
  9.  
  10. while ($row = mysql_fetch_array($results)) {
  11.  
  12. $kalendarz_spotkan[] = array('data' => $row['data'],
  13.  'kolejka' => $row['kolejka'],
  14.  'druzyna_a' => $row['druzyna_a'],
  15.  'druzyna_b' => $row['druzyna_b'],
  16.  'wynik_a' => $row['wynik_a'],
  17.  'wynik_b' => $row['wynik_b']);
  18. }
  19.  
  20. $i = 0;
  21. foreach($kalendarz_spotkan as $spotkanie) {
  22.  
  23. if ( $i % 4 == 0 ) {
  24.  
  25. echo '<br><br>';
  26. }
  27.  
  28. if ( $i == 0 || $i % 4 == 0 ) {
  29.  
  30. echo ($spotkanie['data'].' '.$spotkanie['kolejka'].'<br>');
  31. }
  32.  
  33. echo ($spotkanie['druzyna_a'].' - '.$spotkanie['druzyna_b'].' '.
  34. $spotkanie['wynik_a'].' - '.$spotkanie['wynik_b'].'<br>');
  35.  
  36. $i++;
  37. }
  38.  
  39. ?>


Gdy odbierasz informacje z bazy danych, to najpierw wrzuć je do tablicy i dopiero potem przetwarzaj (przyda Ci się ten nawyk w przyszłosci) :-)
Go to the top of the page
+Quote Post

Posty w temacie


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: 7.10.2025 - 02:44