Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript] Domyslnie wysiwetlane pole listy
Forum PHP.pl > Forum > Przedszkole
comanderv
witam,

robie sobie od taki kalendarz od podstaw i mam problem bo mam pole listy w ktorym zaznaczam dany rok i autometycznie przeladowywuje mi kalendarz na ten rok (calosciowo w php smile.gif ale z samego golego htmla za mocny nie jestem (wiem ze to glupie brac sie za tatry nie chodzac dobrze po swietokrzyskich...) i na oblsuge samego pola listy znalazlem takie rozwiazanie:

Kod
<script LANGUAGE="JavaScript">
function selecturl(s) {
    var gourl = s.options[s.selectedIndex].value;    window.top.location.href = gourl;
}
</SCRIPT>


a sam formularz wyglada tak:
Kod
echo "<FORM style=\"display: inline\">
<SELECT NAME=\"urljump\" OnChange=\"selecturl(this)\">
    <option value=\"index.php?roczek=1990&miesiac=$month&dzionek=$day\"> 1990  </option>
    <option value=\"index.php?roczek=1991&miesiac=$month&dzionek=$day\"> 1991  </option>
    <option value=\"index.php?roczek=1992&miesiac=$month&dzionek=$day\"> 1992  </option>
    <option value=\"index.php?roczek=1993&miesiac=$month&dzionek=$day\"> 1993  </option>
    <option value=\"index.php?roczek=1994&miesiac=$month&dzionek=$day\"> 1994  </option>
    <option value=\"index.php?roczek=1995&miesiac=$month&dzionek=$day\"> 1995  </option>
    <option value=\"index.php?roczek=1996&miesiac=$month&dzionek=$day\"> 1996  </option>
    <option value=\"index.php?roczek=1997&miesiac=$month&dzionek=$day\"> 1997  </option>
    <option value=\"index.php?roczek=1998&miesiac=$month&dzionek=$day\"> 1998  </option>
    <option value=\"index.php?roczek=1999&miesiac=$month&dzionek=$day\"> 1999  </option>
    <option value=\"index.php?roczek=2000&miesiac=$month&dzionek=$day\"> 2000  </option>
    <option value=\"index.php?roczek=2001&miesiac=$month&dzionek=$day\"> 2001  </option>
    <option value=\"index.php?roczek=2002&miesiac=$month&dzionek=$day\"> 2002  </option>
    <option value=\"index.php?roczek=2003&miesiac=$month&dzionek=$day\"> 2003  </option>
    <option value=\"index.php?roczek=2004&miesiac=$month&dzionek=$day\"> 2004  </option>
    <option value=\"index.php?roczek=2005&miesiac=$month&dzionek=$day\"> 2005  </option>
    <option value=\"index.php?roczek=2006&miesiac=$month&dzionek=$day\"> 2006  </option>
    <option value=\"index.php?roczek=2007&miesiac=$month&dzionek=$day\"> 2007  </option>
    <option value=\"index.php?roczek=2008&miesiac=$month&dzionek=$day\"> 2008  </option>
    <option value=\"index.php?roczek=2009&miesiac=$month&dzionek=$day\"> 2009  </option>
    </select></FORM>";

w echu bo phpiec...

efekty tego widac tutaj... w polu autmatycznie pojawia sie pierwszy wpisany rekord czyli 1990 a funkcja wywoluje sie na onChange wiec na 1990 zmienic nie moge bo zawsze on jest domyslny i klikajac go zmiany nie ma... chce zeby w polu wyobru ywsiwetlany byl obecnie przegladany rok...

calosc wyglada tak:
http://www.rytroman.cba.pl/kalllllllllllll...lllll/index.php

a i z tego co widze jeszcze na serwie lista rozwija mi sie w gore ;/ a chcialbym zeby nie wiem zawsze roziwjaa sie w dol chocby nie mialo byc widac jej elementow tongue.gif

pomoze kto ? smile.gif
erix
Cytat
i klikajac go zmiany nie ma... chce zeby w polu wyobru ywsiwetlany byl obecnie przegladany rok..

Atrybut selected dla <option />.
comanderv
heh no oczywiscie... problem rozwiazany lopatologicznie

  1. <?php
  2. $pom = $_GET['roczek'];
  3. echo "<FORM style=\"display: inline\">
  4. <SELECT NAME=\"urljump\" OnChange=\"selecturl(this)\">
  5.     <option";
  6.         if($pom==1990) echo" selected=\"selected\" "; else echo " ";
  7.     echo "value=\"index.php?roczek=1990&miesiac=$month&dzionek=$day\"> 1990  </option>
  8.     <option";
  9.         if($pom==1991) echo" selected=\"selected\" "; else echo " ";
  10.     echo "value=\"index.php?roczek=1991&miesiac=$month&dzionek=$day\"> 1991  </option>
  11.     <option";
  12.         if($pom==1992) echo" selected=\"selected\" "; else echo " ";
  13.     echo "value=\"index.php?roczek=1992&miesiac=$month&dzionek=$day\"> 1992  </option>
  14.     <option";
  15.         if($pom==1993) echo" selected=\"selected\" "; else echo " ";
  16.     echo "value=\"index.php?roczek=1993&miesiac=$month&dzionek=$day\"> 1993  </option>
  17.     <option";
  18.         if($pom==1994) echo" selected=\"selected\" "; else echo " ";
  19.     echo "value=\"index.php?roczek=1994&miesiac=$month&dzionek=$day\"> 1994  </option>
  20.     <option";
  21.         if($pom==1995) echo" selected=\"selected\" "; else echo " ";
  22.     echo "value=\"index.php?roczek=1995&miesiac=$month&dzionek=$day\"> 1995  </option>
  23.     <option";
  24.         if($pom==1996) echo" selected=\"selected\" "; else echo " ";
  25.     echo "value=\"index.php?roczek=1996&miesiac=$month&dzionek=$day\"> 1996  </option>
  26.     <option";
  27.         if($pom==1997) echo" selected=\"selected\" "; else echo " ";
  28.     echo "value=\"index.php?roczek=1997&miesiac=$month&dzionek=$day\"> 1997  </option>
  29.     <option";
  30.         if($pom==1998) echo" selected=\"selected\" "; else echo " ";
  31.     echo "value=\"index.php?roczek=1998&miesiac=$month&dzionek=$day\"> 1998  </option>
  32.     <option";
  33.         if($pom==1999) echo" selected=\"selected\" "; else echo " ";
  34.     echo "value=\"index.php?roczek=1999&miesiac=$month&dzionek=$day\"> 1999  </option>
  35.     <option";
  36.         if($pom==2000) echo" selected=\"selected\" "; else echo " ";
  37.     echo "value=\"index.php?roczek=2000&miesiac=$month&dzionek=$day\"> 2000  </option>
  38.     <option";
  39.         if($pom==2001) echo" selected=\"selected\" "; else echo " ";
  40.     echo "value=\"index.php?roczek=2001&miesiac=$month&dzionek=$day\"> 2001  </option>
  41.     <option";
  42.         if($pom==2002) echo" selected=\"selected\" "; else echo " ";
  43.     echo "value=\"index.php?roczek=2002&miesiac=$month&dzionek=$day\"> 2002  </option>
  44.     <option";
  45.         if($pom==2003) echo" selected=\"selected\" "; else echo " ";
  46.     echo "value=\"index.php?roczek=2003&miesiac=$month&dzionek=$day\"> 2003  </option>
  47.     <option";
  48.         if($pom==2004) echo" selected=\"selected\" "; else echo " ";
  49.     echo "value=\"index.php?roczek=2004&miesiac=$month&dzionek=$day\"> 2004  </option>
  50.     <option";
  51.         if($pom==2005) echo" selected=\"selected\" "; else echo " ";
  52.     echo "value=\"index.php?roczek=2005&miesiac=$month&dzionek=$day\"> 2005  </option>
  53.     <option";
  54.         if($pom==2006) echo" selected=\"selected\" "; else echo " ";
  55.     echo "value=\"index.php?roczek=2006&miesiac=$month&dzionek=$day\"> 2006  </option>
  56.     <option";
  57.         if($pom==2007) echo" selected=\"selected\" "; else echo " ";
  58.     echo "value=\"index.php?roczek=2007&miesiac=$month&dzionek=$day\"> 2007  </option>
  59.     <option";
  60.     if($pom==2008 || !$pom) echo" selected=\"selected\" "; else echo " ";
  61.     echo "value=\"index.php?roczek=2008&miesiac=$month&dzionek=$day\"> 2008  </option>
  62.     <option value=\"index.php?roczek=2009&miesiac=$month&dzionek=$day\"> 2009  </option>
  63.     </select></FORM>";
  64. ?>


jednak zastanawiam sie czy nie estetyczniej byloby to jakos na JSie zrobic...

efekt wrzucilem na http://www.rytroman.cba.pl/kalllllllllllll...lllll/index.php
erix
IMHO mógłbyś liznąć co nieco ad. AJAX.

Poza tym, atrybuty znaczników możesz również zmieniać przez JS; poszukaj na forum, było już nieraz.
comanderv
znam C++ i co nie co C z JSem znam sie na tyle ze wiem jak sie konstruuje warunki i ogolnie strukture ale jak juz JS zaczyna mieszac ze stylami czy znacznikami to juz dla mnie czarna magia... a jak JSa nic to wiadomo za wiele z AJAXa nie bedzie tym bardziej ze XMLe mi obce smile.gif

ja tam kocham mojego starego PHPca w wersji 3 tongue.gif i koniec...

dlatego licze na pomoc ludzi swiatlych smile.gif
erix
Pomoc != gotowiec tongue.gif

A skoro myślisz, że w JS byłoby estetyczniej, to przepraszam - pomyliłeś bajki, skoro chcesz jechać samochodem i nie wiesz, jak zmieniać biegi (zakładając, że nie masz automatu tongue.gif).

Co do kodu - wyświetlanie lat możesz zrobić w pętli, przybędzie kolejny rok, to będziesz modyfikował kod? Bezsens. winksmiley.jpg A jeśli chodzi o sam problem kalendarza - tego w Sieci jest pełno, poszukaj trochę.
comanderv
co do gotowca zgadzam ale czasami wiem co wykracza poza moja wiedze tudziez zdolnosci ;]

tego z biegami do konca nie rozumie... a co do roku to eeee tongue.gif

moj kalendarz pobierajac date z kompa (hmmm w windzie max jest od 1950 do 2100 bodajze a na serwie od 1900 do 2038) wczytuje to wszytsko do siebie i moze wyswietlac ja jednak nie widze listy skladajacej sie w optymistycznej opcji z 88 pol smile.gif (od 1950 do 2038 na wszelki wypadek tak zabezpieczylem kalendarz bo ja juz sam nie wiem czy z kompa ten kod bierze dane czy z serwa...tak czy siak po najmniejszej lini oporu ide- kalendarz i tak potrzebuje na czas +-5 lat smile.gif )

a mam takie pytanie proposem tych dat...

czemu jak chce wyswtetlic date("m") date("j") albo date("n") to kupa ?
erix
Cytat
tego z biegami do konca nie rozumie...

Zabierasz się za coś, o czym nie masz pojęcia -> najpierw zdobądź podstawy, potem za coś się zabieraj.

Cytat
do siebie i moze wyswietlac ja jednak nie widze listy skladajacej sie w optymistycznej opcji z 88 pol

No jak ma tyle być, skoro listę ustawiłeś na sztywno?

Cytat
czemu jak chce wyswtetlic date("m") date("j") albo date("n") to kupa ?

A konkretniej?
comanderv
dobra powiem inaczej,

co do listy to chcialem zeby wyswietlaly sie tylko te daty smile.gif

a dokladniej
  1. <?php
  2. $dzien = date("d");
  3. $miesiac = date("m");
  4. $rok = date("Y");
  5.  
  6. echo $dzien."&nbsp;".$miesiac."&nbsp;".$rok;
  7.  
  8. //wyswietla sie tylko rok ...
  9. ?>
erix
Dziwne, ten kod u mnie działa bez problemów - wyświetla wszystko, co chcesz: http://www.fotosik.pl/pokaz_obrazek/235bb4922b2382b6.html
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.