<?php

Dzień dobry.

Mam takie dwie bazy w MySQL(u):



Bazza1

Nr_|_DataRejestr____|_B1NumerKolumnyGodzin_|_B1NumerKlienta_|
---+----------------+----------------------+----------------+
1__|__2011-03-16____|__________18__________|__435___________|
---+----------------+----------------------+----------------+
2__|__2011-03-19____|___________3__________|__872___________|
---+----------------+----------------------+----------------+


Bazza2

Nr_|_NrDniaMiesiaca_|_B2NumerKolumnyGodzin_|_B2NumerKlienta_|
---+----------------+----------------------+----------------+
1__|_____13_________|__________13__________|__993___________|
---+----------------+----------------------+----------------+
2__|_____27_________|__________16__________|__337___________|
---+----------------+----------------------+----------------+
Kombinowałam w przeróżny sposób ale z lichym wynikiem. Potrzebuję wyciągnąć w pętli wszystkie "zajęte" dni. W wyniku na stronie WWW ma powstać tabela wg poniższego schematu (na 31 dni w tym miesiącu - ale to działa OK [start1 to 1 zaś stop1 to 31 albo 30 zależnie od miesiąca ale to OK]):


data/godz.|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-02|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-03|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-04|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-05|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-06|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-07|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-08|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-09|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-10|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-11|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-12|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-13|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-14|xx|xx|AA|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|AA|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-15|xx|xx|AA|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|AA|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-16|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|AA|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-17|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-18|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-19|xx|xx|AA|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
....
---------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2011-03-31|xx|xx|XX|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|

czyli ma być 20 kolumn (od 1 do 20) i 31 poziomych wierszy. Skrzyżowania, które nie występują w bazie danych mają przydzieloną jakąś plamkę graficzną np. zieloną (tu: oznaczenie xx) zaś te, które występują - inną plamkę (tu: oznaczenie AA).
Niestety tak wszystko pokomplikowałam, że już calkowicie sie pogubiłam i nie potrafię z tego wyjść. Wg poniższego kodu wychodzą mi dziwne bzdury. Najczęściej powielają mi (wyświetla podwojnie z jamimś przesunięciem...) się dane z II bazy.

Tak mam poplątane, że proszę o calkowite UPROSZCZENIE tego kodu. Potrzebuję to na zaliczenie za 5 dni a dostalam calkowitego zaćmienia.... .

============================================================================
============================================================================

  1. for ($datka=$start1; $datka<=$stop1; $datka=$datka+86400) {
  2. $zakresik=array_fill(1,$ilosc_pionow,'&nbsp;');
  3. $statusy=array_fill(1,$ilosc_pionow,'&nbsp;');
  4. $numer_pionu=array_fill(1,$ilosc_pionow,'&nbsp;');
  5. $dateczkaWiersza=array_fill(1,$ilosc_pionow,'&nbsp;');
  6. $d1=date("Y-m-d",$datka);
  7. $zapytanie='SELECT * FROM Bazza1, Bazza2 where DataRejestr = \'' .$d1.'\' or concat("2011-03-", NrDniaMiesiaca) = \'' .$d1.'\' order by yyBGid DESC';
  8. $rezultat=mysql_query($zapytanie);
  9. if (!$rezultat) {
  10. die('Niepoprawne zapytanie: ' . mysql_error());
  11. }
  12. while ($wiersz = mysql_fetch_assoc($rezultat)) {
  13. $zakresik[$wiersz["B1NumerKolumnyGodzin"]]=$wiersz["B1NumerKlienta"];
  14. $zakresik[$wiersz["B2NumerKolumnyGodzin"]]=$wiersz["B2NumerKlienta"];
  15. }
  16.  
  17. echo "<TR align=center>";
  18. echo "<TD>".$d1."</TD>";
  19. for ($poletko=1; $poletko <= $ilosc_pionow; $poletko++) {
  20. if ($zakresik[$poletko]=='&nbsp;'){
  21. echo '<TD><A TITLE="'.$statusy[$poletko].'" HREF="planBG.php?wart1='.$poletko.'&wart2='.$d1.'"><IMG SRC=zWolne.gif border=0></A></TD>';
  22.  
  23. }else{
  24. echo '<TD><IMG SRC=zajete.gif border=0></A></TD>';
  25. }
  26. }
  27. echo "</TR>";
  28. }
  29.  
  30. echo "</TABLE>";
  31.  



Dzięki.