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
ghastblood
post
Post #2





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

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


  1. <table border="1">
  2. <tr>
  3. <!-- Stały rekord tabeli -->
  4. <td>Godz./Stanowisko</td>
  5. <!-- Stanowiska generowane na podstawie wartości z MySQL -->
  6. <td>1</td>
  7. <td>2</td>
  8. <td>3</td>
  9. <td>4</td>
  10. <td>5</td>
  11. </tr><tr>
  12. <!-- Godzina 10.00 na podstawie wartości z MySQL gdzie podana jest godzina startu i konica czyli 10.00-15.00 -->
  13. <td>10.00</td>
  14. <!-- Zawodnik 1 to nazwisko imie i konkurencja zawodnik w bazie danych ma określone że odbywa konkurencje o godz 10.00 na stanowisku 1 -->
  15. <td>Zawodnik 1</td>
  16. <!-- Puste pola -->
  17. <td>&nbsp;</td>
  18. <td>&nbsp;</td>
  19. <td>&nbsp;</td>
  20. <td>&nbsp;</td>
  21. </tr><tr>
  22. <!-- Godzina 11.00 na podstawie wartości z MySQL gdzie podana jest godzina startu i konica czyli 10.00-15.00 -->
  23. <td>11.00</td>
  24. <td>&nbsp;</td>
  25. <td>&nbsp;</td>
  26. <td>&nbsp;</td>
  27. <td>&nbsp;</td>
  28. <td>&nbsp;</td>
  29. </tr><tr>
  30. <!-- Godzina 12.00 na podstawie wartości z MySQL gdzie podana jest godzina startu i konica czyli 10.00-15.00 -->
  31. <td>12.00</td>
  32. <td>&nbsp;</td>
  33. <td>&nbsp;</td>
  34. <td>&nbsp;</td>
  35. <td>&nbsp;</td>
  36. <td>&nbsp;</td>
  37. </tr><tr>
  38. <!-- Godzina 13.00 na podstawie wartości z MySQL gdzie podana jest godzina startu i konica czyli 10.00-15.00 -->
  39. <td>13.00</td>
  40. <td>&nbsp;</td>
  41. <td>&nbsp;</td>
  42. <td>&nbsp;</td>
  43. <td>&nbsp;</td>
  44. <td>&nbsp;</td>
  45. </tr><tr>
  46. <!-- Godzina 14.00 na podstawie wartości z MySQL gdzie podana jest godzina startu i konica czyli 10.00-15.00 -->
  47. <td>14.00</td>
  48. <td>&nbsp;</td>
  49. <td>&nbsp;</td>
  50. <td>&nbsp;</td>
  51. <td>&nbsp;</td>
  52. <td>&nbsp;</td>
  53. </tr><tr>
  54. <!-- Godzina 15.00 na podstawie wartości z MySQL gdzie podana jest godzina startu i konica czyli 10.00-15.00 -->
  55. <td>15.00</td>
  56. <td>&nbsp;</td>
  57. <td>&nbsp;</td>
  58. <td>&nbsp;</td>
  59. <td>&nbsp;</td>
  60. <!-- Zawodnik 2 to nazwisko imie i konkurencja zawodnik w bazie danych ma określone że odbywa konkurencje o godz 15.00 na stanowisku 5 -->
  61. <td>Zawodnik 2</td>
  62. </tr>


takie wizualne przedstawienie pomoże mi określić które stanowiska są wolne czyli jak dodam zawodnika do bazy danych ze ma konkurencje o godz. 12.00 na 3 stanowisku to wyświetli mi się on o godz . 12.00 w 3 rekordzie.
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