Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Generowanie tabeli z wpisanymi wynikami w odpowiednie miejsca
ghastblood
post
Post #1





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


Konstrukcja bazy danych jest następująca w konkurencjach zawodników mam godzinę oraz stanowisko
w ustawieniach pawilonu mam ilosc stanowisk w pawilonie

napisałem taki kodzik
  1. <?php
  2. include "core.php";
  3.  
  4. $sql_wynik = mysql_query("SELECT * FROM pawilony") or die(mysql_error());
  5. $sql_wynik1 = mysql_query("SELECT godzina FROM zawodnik LEFT JOIN konkurencje_zawodnikow ON id_zawodnika = id LEFT JOIN konkurencje ON id_konkurencji = id_konk") or die(mysql_error());
  6.  
  7. $sql_r = mysql_fetch_assoc($sql_wynik);
  8.  
  9.  
  10. while($sql_r1 = mysql_fetch_array($sql_wynik1,MYSQL_ASSOC)){
  11. $tab[] = $sql_r1;
  12. }
  13.  
  14. $stanowiska = $sql_r['ilosc_stanowisk'];
  15.  
  16. for($t=10; $t<=18; $t++){
  17. $godzina[] = $t;
  18. }
  19. echo '<pre>';
  20. var_dump($godzina);
  21.  
  22. echo '<table border="1">';
  23. echo '<tr>';
  24. echo '<td>Godz./Stanowisko</td>';
  25. for($s=1; $s<=$stanowiska; $s++){
  26. echo '<td>'.$s.'</td>';
  27. }
  28. echo '</tr><tr>';
  29. for($g = 10; $g<=18; $g++){
  30. $g = $g.'.00';
  31. echo '<td>'.$g.'</td>';
  32. for( $x = 0, $cnt = count($godzina); $x < $cnt; $x++ ){
  33. if($g == $godzina[$x]){
  34. $sql_wynik = mysql_query("SELECT * FROM zawodnik LEFT JOIN konkurencje_zawodnikow ON id_zawodnika = id
  35. LEFT JOIN konkurencje ON id_konkurencji = id_konk WHERE godzina = ".($g)." && pawilon = '25m'") or die(mysql_error());
  36. while($sql_r = mysql_fetch_assoc($sql_wynik)){
  37. echo '<td>'.$sql_r['nazwisko_zawodnika'].'</td>';
  38. }
  39. }
  40. }
  41.  
  42. echo '</tr><tr>';
  43. }
  44.  


generuje tabele dobrze ale zawodników wpisuje mi jak leci w konkretną godzinę a chciał bym osiągnąć efekt taki jak na obrazku czyli oprócz godziny dla zawodnika żeby był wpisany na odpowiednim stanowisku.

(IMG:http://img24.imageshack.us/img24/125/beznazwy1nl.png)
By ameth69 at 2012-06-08

Naprawdę nikt nie może mi pomóc ?


jestem bliżej niż dalej
  1. <?php
  2. include "core.php";
  3.  
  4. $sql_wynik = mysql_query("SELECT * FROM pawilony") or die(mysql_error());
  5. $sql_r = mysql_fetch_assoc($sql_wynik);
  6. $stanowiska = $sql_r['ilosc_stanowisk'];
  7.  
  8.  
  9.  
  10. echo '<table border="1">';
  11. echo '<tr>';
  12. echo '<td>Godz./Stanowisko</td>';
  13. for($s=1; $s<=7; $s++){
  14. $stanowisko[] = $s;
  15. echo '<td>'.$s.'</td>';
  16. }
  17. echo '</tr><tr>';
  18.  
  19.  
  20.  
  21. for($g = 10; $g<=16; $g++){
  22. $g = $g.'.00';
  23. echo '<td>'.$g.'</td>';
  24. $s = 1;
  25. for( $z = 0, $cnt = count($stanowisko); $z < $cnt; $z++ ){
  26. $sql_wynik1 = mysql_query("SELECT * FROM zawodnik LEFT JOIN konkurencje_zawodnikow ON id_zawodnika = id LEFT JOIN konkurencje ON id_konkurencji = id_konk WHERE pawilon = '25m' && godzina ='$g' && stanowisko = '$s'") or die(mysql_error());
  27. while($sql_r1 = mysql_fetch_assoc($sql_wynik1)){
  28. if($g == $sql_r1['godzina'] && $s == $sql_r1['stanowisko']){
  29. echo '<td>'.$sql_r1['nazwisko_zawodnika'].'</td>';
  30. } else{
  31. echo '<td>&nbsp;</td>';
  32. }
  33. }
  34. $s++;
  35.  
  36. }
  37. echo '</tr><tr>';
  38.  
  39. }
  40. echo '</table>';
  41.  
  42.  
  43. ?>


generuje mi to tabele wpisuje nazwiska ale if w pętli zawsze zwraca pierwszą wartość i nie tworzy mi pustych komórek przez co nazwisko zawodnika nie znajduje się na odpowiednim stanowisku.
może teraz ktoś mi pomoże siedzę nad tym cały dzień.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kefirek
post
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Chodziło mi o bazę danych byś podał jakie masz tabele i nazwy kolumn oraz przykładowe dane w tabelach.
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: 8.10.2025 - 15:39