Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kalenterin nykyinen päivä

geggo [28.11.2005 11:28:05]

#

Nonni, taas pikkasen neuvoa tarvisi!
Elikkä on tuommonen kuukauskalenteri ja jos on päivällä kannassa merkintöjä, niin päivästä tulee linkki.
Nyt olisi hyvä jos saisi nykyisen päivän solun erinväriseksi.
Olisko neuvoja!!! Kiitos

Yritin tuota:

if(date("Ynj") == $yr.$mn.$count) {
echo.....
}
else{
echo...
}

Mutta ei oikein tunnu onnistuvan vaikka mihin rakoseen yritän tuota jossaitella.

<?
//$headerColor = "#CCCCCC";
  //  $bgColor     = "#ffffff";
    //$borderColor = "#ffffff";
    //$filledColor = "#ffffff";
    //$thisday = "#80ffc0";
//$firstSq = $this->getFirstDayInMonth ($yr, $mn);
$count = 0 -  $firstSq ;
for ($r=0; $r<6; $r++) //viikot kuukaudelle
{
 echo "<tr>\n";
    for ($c=0; $c<7; $c++) // päivät viikolle
     {
       $count++;
	if (strlen($count) == 1)
	{
	$count = "0" . $count;
	}
	if (strlen($mn) == 1)
	{
	$mn = "0" . $mn;
	}
            if ($count <  1 || $count > $entries)
 // jos count on pienempi kuin yksi ja suurempi kun etries niin tulostetaan -
       {
 echo " <td bgcolor='$bgColor' width ='14%'><center>-</center></td>\n";
            continue;
       }
       else
       {
      echo "<td bgcolor='$filledColor' width = '14%'>\n<center>";
            }
//tietoarray = kannasta haetut alku ja loppu pvm.
$haku = "$count$mn$yr";
if (in_array($haku, $tieto_array))
{
echo "<b><a href =muu_valinta.php?valittu=$count.$mn.$yr TARGET='muu_sivu'> $count</a></b>";
}
else
{
echo  $count;
}
 echo "</center>\n</td>\n";
 }
 echo "</tr>\n";
    }

!>

Antti Laaksonen [01.12.2005 20:06:59]

#

Ideasi on kyllä juuri oikea. Päiviä tulostaessa pitää vain tarkistaa, onko tulostettava päivä sama kuin senhetkinen päivä. Jos tarkistus ei tunnu toimivan, niin tulosta molemmat merkkijonot ja katso, mikä niissä on erona. Tarkistus pitää tietysti laittaa siihen kohtaan, jossa päivä tulostetaan.

ipe [01.12.2005 20:37:20]

#

Itellä oli joskus lipsahtanu välilyönti if lauseeseen niin ei toiminut vertailu.. Kannattaa siis tutustua trim functioon.

geggo [02.12.2005 10:59:20]

#

Kaippa tuo tarkistus on oikein, mutta kalenteri heittää härän py***ä kun ymppään tuon minne kohtaa vain :(

Uskoisin että tuohon missä alkaa.

<?
$haku = "$count$mn$yr";
if (in_array($haku, $tieto_array))
{
echo "<b><a href =muu_valinta.php?valittu=$count.$mn.$yr TARGET='muu_sivu'> $count</a></b>";
}
else
{
echo  $count;
}
!>

Tuohon johonkin sen pitäisi ympätä, mutta osaaminen alkaa loppua... huhu

<?

//tarkistus
if(date("Ynj") == $yr$mn$count)
{
echo "<td bgcolor='$thisday' width = '14%'>\n<center>";
}
else
{
echo "<td bgcolor='$filledColor' width = '14%'>\n<center>";
}
!>

geggo [05.12.2005 13:07:56]

#

Nonni, useiden kokeilujen jälkeen onnistuin. Kiitos vihjeistä.

<?
   $count = 0 -  $firstSq ;
for ($r=0; $r<6; $r++) //viikot kuukaudelle
{
echo "<tr>\n";
for ($c=0; $c<7; $c++) // päivät viikolle
{
 $count++;
if (strlen($count) == 1)
{
	$count = "0" . $count;
}
if (strlen($mn) == 1)
{
	$mn = "0" . $mn;
}
if ($count <  1 || $count > $entries)
// jos count on pienempi kuin yksi ja suurempi kun etries niin tulostetaan -
{
    echo " <td bgcolor= '$bgColor' width = '14%'><center>-</center></td>\n";
continue;
}
//tarkistus, jolloin nykyinen päivä erotetaan muista taustan värillä
 if(date("jnY") == "$count$mn$yr")
{
    echo "<td bgcolor='$thisday' width = '14%'>\n<center>";
}
else
{
    echo "<td bgcolor='$filledColor' width = '14%'>\n<center>";
}
!>

Wizard [05.12.2005 13:13:07]

#

Hmm...olen huomannut, että monet tekevät hirmu hankalasti PHP:llä kalentereihin liittyviä asioita. Kannattaa tutustua PHP:n omaan Calendar systeemiin ja siihen liittyviin funktioihin. Ei tarvitse säätää...


--WIZ--

Metabolix [05.12.2005 13:18:08]

#

Tai sitten voi vain opetella koodaamaan vähän paremmin noin yleensäkin. Monet asiat voi tehdä paljon helpommin jo ihan noilla perusfunktioillakin, kun vain jaksaa kunnolla miettiä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta