js nacitanie

Programovacie jazyky, rady, poradňa...
Pascalwb
Addict
Addict
Príspevky: 3108
Registrovaný: 09 feb 2010, 23:26

js nacitanie

Príspevok od používateľa Pascalwb »

Vobec neviem ako som mal nazvat temu cize 1. sorry za nazov.

Moj problem. V Js som uplne mimo, a potreboval by som poradit, ked sa to vobec da.

mam v php. podmienku ze ak je v databaze dajme tomu x==0 tak sa spusti

Kód: Vybrať všetko

  <script>
$(document.body).ready(function () {
if ($("#box:first").is(":hidden")) {
$("#box").slideDown("slow");
} else {
$("#box").hide();
}
});

</script> 


Chcem sa opytat, ci sa neda nejako spravit, aby sa tento script pustil len raz. Napriklad zisti ze x==0 tak sa raz spusti a koniec ani po refreshi sa nespusti zase. Az ked zase bude x 0.

Dufam, ze sa chapeme, mozno nato idem zle, mozno je to nejaka uplna malickost, ale vobec som nevedel ani ako googlit. Dik
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: js nacitanie

Príspevok od používateľa audiotrack »

tú hodnotu zistíš cez php, a ten script pomocou php vypíšeš iba ak je hodnota rovná nule. Celú stránku predsa vypisuješ phpkom, nie? Tak je na tebe či tam ten js dáš alebo nie a to sa vieš v php rozhodnúť. Nejak nechápem kde je problém
Pascalwb
Addict
Addict
Príspevky: 3108
Registrovaný: 09 feb 2010, 23:26

Re: js nacitanie

Príspevok od používateľa Pascalwb »

Ano presne tak, len sa pytam, ci neexistuje nieco co by ten script vypisalo len raz. A po stlaceni F5 by sa uz nevykonal. Ako nadtym tak rozmyslam, asi sa to neda.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: js nacitanie

Príspevok od používateľa audiotrack »

tak ešte raz:
1) php načíta hodnotu, ak je rôzna od nuly tak nevypíše js, ak je nula tak vypíše js
2) to isté php si niekde uloží hodnotu že ho vypísalo (alebo zmení to x? neviem čo to x znamená a či ho môže meniť)
3) refresh už ten js logicky nevypíše, lebo si porovnávaš túto hodnotu či bola zmenená

je to maximálne jednoduché. Druhé riešenie by bolo zapojiť cookies
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: js nacitanie

Príspevok od používateľa weroro »

Alebo ma napadlo toto:
Ak sa hodnota X v databáze rovná 0, tak sa tá hodnota zmení napr. na 1 a vypíše sa JavaScript? Pri dákej ďalšej akcii na stránke sa táto hodnota X znovu zmení na 0 a znovu sa vypíše JS. Ak nechceš aby sa ti ten script znovu vypísal, tak zapíš ešte jednu hodnotu a v podmienke testuj dve hodnoty:
if (X == 0 && Y == 0)
ak je to pravda prepíš hodnotu Y na 1 a X tiez na 1 a vypíš JavaScript. Keď sa znovu prepíše hodnota X na 0, tak sa podmienka nevykoná lebo hodnota Y bude 1, a tak podmienka nebude pravdivá.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: js nacitanie

Príspevok od používateľa audiotrack »

ale používanie druhej premennej v db ovplyvní všetkých užívateľov, nie iba toho jedného :) Teda ak sa niekomu ten js už vypísal, nikomu inému (z iných prehliadačov, počítačov, krajín..) sa už nevypíše. Práve preto by bolo lepšie použiť cookies, alebo tú hodnotu v db zvoliť vhodne (kombinácia ip, prehliadača a podobne)
Pascalwb
Addict
Addict
Príspevky: 3108
Registrovaný: 09 feb 2010, 23:26

Re: js nacitanie

Príspevok od používateľa Pascalwb »

Skusim to stou dalsou premennou, myslel som ze je v js nejaka funkcia nato, ale asi by to bola blbost. Dik zatial
Napísať odpoveď