Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Problem z kalendarzem
Forum PHP.pl > Forum > Przedszkole
piotrooo89
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
erix
Z tego, co patrzę po screenie, to widocznie wykonują Ci się któreś dwa warunki zamiast jednego.
piotrooo89
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ć?
erix
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?
piotrooo89
kurcze nie bardzo... może jakiś przykład tongue.gif
erix
  1. <?php
  2. $parsed = false;
  3.  
  4. if(dzieńSwiateczny){
  5. ...
  6. $parsed = true;}
  7.  
  8. ...
  9.  
  10. if(!$parsed){
  11. ...
  12. }
  13. ?>
piotrooo89
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.