Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Problem z kalendarzem
piotrooo89
post
Post #1


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Mam taką małą zagwozdkę...

robię sobie kalendarzyk wszystko pięknie ładnie ale chciałem połączyć go z baza, tzn. żeby kolorował mi komórki których data jest w bazie. i jest problem robi się coś takiego:



nei bardzo mogę zrozumieć o co chodzi. oto kod:

podbieram date z bazy:

  1. <?php
  2. $sql=mysql_query("SELECT data FROM termin\");
  3. $j=0;
  4. while($row=mysql_fetch_array($sql))
  5. {
  6.    echo $row[data];
  7.    $tab[$j]=$row[data];
  8.    $j++;
  9. }
  10. ?>

i teraz chce zakolorować tę date:
  1. <?php
  2. foreach($tab as $value)
  3.        {
  4.            $baza_d = explode('-', $value);
  5.            if ($c == $baza_d[2] && $miesiac == $baza_d[1] && $rok == $baza_d[0])
  6.            {
  7.                echo '<td bgcolor="#ffffff" align="center"><a href=""><strong>'.$c.'</strong></td>';
  8.            }
  9.        }
  10.        if($c == date(d) && $miesiac == date(m) && $rok == date(Y))
  11.        {
  12.            echo '<td bgcolor="#ffcc99" align="center"><a href=""><strong>'.$c.'</strong></td>';
  13.        }
  14.        elseif($b == 0 OR $b == 6)
  15.        {
  16.            echo '<td bgcolor="#99cccc" align="center"><a href="">'.$c.'</a></td>';
  17.        }
  18.        else
  19.        {
  20.            echo '<td bgcolor="#EEEEEE" align="center"><a href="">'.$c.'</a></td>';
  21.        }
  22.        $c++;
  23. ?>

ale kurcze nie wychodzi tylko dzieje się to co w scernie wyżej.

proszę o jakieś rady

//EDIT
z mojego kodu sieczka się zrobiła

Ten post edytował piotrooo89 29.11.2008, 21:21:13


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Z tego, co patrzę po screenie, to widocznie wykonują Ci się któreś dwa warunki zamiast jednego.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
piotrooo89
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




racja wykonują się 2 razy bo mam 2 daty... jakby było 4 to by się 4 razy wykonało... ale teraz jak temu zaradzić?


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ciężko mi z tej sieczki (;p) coś wyciągnąć...

Ale spróbuj może wyświetlanie "zwykłego dnia" wyciągnąć z głównego warunku. Do tych, w których masz zdarzenia przypisuj zmienną parsed=true, a "zwykły" dzień dopisuj wtedy, gdy parsed=false. Rozumiesz?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
piotrooo89
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




kurcze nie bardzo... może jakiś przykład tongue.gif


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <?php
  2. $parsed = false;
  3.  
  4. if(dzieńSwiateczny){
  5. ...
  6. $parsed = true;}
  7.  
  8. ...
  9.  
  10. if(!$parsed){
  11. ...
  12. }
  13. ?>


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
piotrooo89
post
Post #7


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




to może ja pokaże jak tworzę ten kalendarzyk...

  1. <?php
  2. for($a=1;$a <= $all;$a++)
  3. {
  4.    if(!$b)
  5.    {
  6.        $b = 0; //ilośc dni w tygodniu
  7.    }
  8.    if($b == 7)
  9.    {
  10.        $b = 0;
  11.    }
  12.    if($b == 0)
  13.    {
  14.        echo '<tr>';
  15.    }
  16.    if(!$c)
  17.    {
  18.        $c = 1; //jaki dzień od 1 do (w zależności ile w miesiącu)
  19.    }
  20.    if($a > $pok_dz AND $c <= $ile_dni)
  21.    {    
  22.        foreach($tab as $value)
  23.        {
  24.            $baza_d = explode('-', $value);
  25.            if ($c == $baza_d[2] && $miesiac == $baza_d[1] && $rok == $baza_d[0])
  26.            {
  27.                echo '<td bgcolor="#ffffff" align="center"><a href=""><strong>'.$c.'</strong></td>';
  28.            }
  29.        }
  30.        if($c == date(d) && $miesiac == date(m) && $rok == date(Y))
  31.        {
  32.            echo '<td bgcolor="#ffcc99" align="center"><a href=""><strong>'.$c.'</strong></td>'; //koloruje tak dzień jeśli jest dzis
  33.        }
  34.        elseif($b == 0 OR $b == 6)
  35.        {
  36.            echo '<td bgcolor="#99cccc" align="center"><a href="">'.$c.'</a></td>'; //tak jeśli sobota lub nd
  37.        }
  38.        else
  39.        {
  40.            echo '<td bgcolor="#EEEEEE" align="center"><a href="">'.$c.'</a></td>';//a tak wszystkie inne...
  41.        }
  42.        $c++;
  43.    }
  44.    else
  45.    {
  46.        echo '<td>&nbsp;</td>';
  47.    }
  48.    if($b == 6)
  49.    {
  50.        echo '</tr>';
  51.    }
  52.    $b++;
  53. }
  54. ?>


i jak już mówiłem chce aby kolorowało mi dzień który jest w bazie na jeszcze inny.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 14:21