Centar za edukaciju-BiH



#1 18.11.2016 10:42
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:javascript i mysql
imamo table
tabla1=voce
DATUM IME_VOCASIFRA
08.10.2016 jabuka001
09.10.2016 jabuka001
10.10.2016 jabuka001
08.10.2016 kruska002
09.10.2016 kruska002
10.10.2016 kruska002
08.10.2016 banana003
09.10.2016 banana003
10.10.2016 banana003

tabla2=brojskidanja
ID DATUM UKUPNO
1 09.10.201613

PreuzmiIzvorni kôd (PHP):
  1. $upit=mysql_query("SELECT datum,ime_voca,sifra
  2.                 FROM voce
  3.                 ORDER BY DATE(datum) asc
  4.                 LIMIT 0 , 100")
  5.                 or die(mysql_error());
  6.        
  7. $csv= "Datum".",imeVoca".",sifra"."\n";
  8. while ($row = mysql_fetch_array($upit)){
  9.         $strDatum=(string)$row[0];
  10.         $strImeVoca=(string)($row[1]);
  11.         $strDatum=(string)date('d/m/Y',strtotime($row[2]));
  12.  
  13.         $csv.='"'.$strDatum.'",'.'"'.$strImeVoca.'",'.'"'.$strDatum.'",'.'"'.$strEndDate."\n";
  14. }
  15. unset($upit);

klikom na tipku mozemo skinuti taj fajl
u HTML-u imamo tipku:

<форм>
<инпут тyпе='буттон' наме='Релеасе' онцлицк= '[б]доwнлоадЦСВ[/б]({ филенаме: "воце.цсв" });' валуе='ДОWНЛОАД ЦСВ ФИЛЕ'>
</форм>

HTML poziva javascript funkciju koja skida fajl na hard disk

<сцрипт тyпе="теxт/јавасцрипт">
    фунцтион [б]доwнлоадЦСВ[/б](аргс) {
        вар дата, филенаме, линк;
        вар цсв = < ецхо јсон_енцоде($цсв);>;
        филенаме = аргс.филенаме || 'еxпорт.цсв';
        иф (!цсв.матцх(/^дата:теxт\/цсв/и)) {
            цсв = 'дата:теxт/цсв;цхарсет=утф-8,' + цсв;
        }
        дата = енцодеУРИ(цсв);
        линк = доцумент.цреатеЕлемент('а');
        линк.сетАттрибуте('хреф', дата);
        линк.сетАттрибуте('доwнлоад', филенаме);
        линк.цлицк();
        //
        //овдје би ставио код којим би увецао број скидања
        //или би направио код у јавасцрипту
        //
    }
    </сцрипт>

za uvecavanje broj skidanja u koristim ovo:

PreuzmiIzvorni kôd (PHP):
  1. //uvecaj broj skidanja
  2. $query='UPDATE voce SET ukupno =(ukupno+1), datum= NOW()';
  3. mysql_query($query) or die(mysql_error());
  4. unset($query); //praznjenje upita

PITANJE:
kako staviti kod za uvecavanje broja skidanja u javascript?
zivot je moja domovina.
Ovaj post je ureden 1 puta. Posljednja izmjena 18.11.2016 10:43 od strane Avko. ↑  ↓

#2 18.11.2016 11:12
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: javascript i mysql
evo ti primjer.
E sad neznam gdje ces zapisivati.
http://www.icentar.ba/...&id=26192
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 18.11.2016 11:20
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: javascript i mysql
heheeh, brojac klikova je item (ako se to tako kaze) u MYSQL tabli, treba iz javascripta izvrsiti MySQL query
UPDATE voce SET ukupno =(ukupno+1), datum= NOW(), a ne prikazati na web stranici.

rijesenje bi moglo biti pozivanje phpfunkcije iz javascripta ili odraditi u javascriptu konekciju na bazu i uvecavanje polja u tabeli. Za mene bi bilo kompliciranije javascript konekcija, a neznam pozvati phpfunkciju iz javascripta. Treba nekakav ajax i sta ti ja znam
zivot je moja domovina.
↑  ↓

#4 18.11.2016 11:45
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: javascript i mysql
Hehe ima negdje kod na konekciju ali i nemoras mozes u txt file zapisati.
Odluci kako ces ili u bazu ili u txt pa ako ne uspijes za pola stata napravit cu primjer.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 18.11.2016 13:18
Grunf Van mreze
Clan
Registrovan od:11.11.2016
Postovi:67


Predmet:Re: javascript i mysql
pokusavam ovdje odgovoriti, ali mi sistem ne dozvoljava.
da li je razlog sto stavljam linkove u kojima se nalazi ".php" ili nesto slicno?
↑  ↓

#6 18.11.2016 13:47
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: javascript i mysql
Citiraj Grunf:
pokusavam ovdje odgovoriti, ali mi sistem ne dozvoljava.
da li je razlog sto stavljam linkove u kojima se nalazi ".php" ili nesto slicno?

da problem je kada stavis negdje p.h.p. k.o.d. evo ja to razdvajam tockama da ne dode do blokade.
isto tako sam primjetio da ako stavis "znak vece" pa unda "upitnik" isto tako blokira jer misli da hakiras stranicu. Koliko sam ja shvatio problem je u vatrozidu na serveru, a lijepo sam rekao zxz da ne ide u optimu vec da komparira sa studio4web pa vidi sta ce. Problem sa serverom u americi je bio u nekakvoj vremenskoj zoni i cestom rusenju, sta ti ja znam.
uglavnom da skratim, palo mi na pamet da kriticni kod stavim u cirilicu i to je proslo. Postoji i rijesenje da stavis u txt file pa zakacis na forum, ali ja mislim da ce ljudi manje to gledati jer im se neda skidati txt dokument na racunalo, pisati pa ponovo zakaciti txt dokument na forum. Previse radnji.
Sve u svemu puno truda i muke, realno gledajuci i nije tako strasno ako zelis doci do nekog rijesenja i ako zelis pomoci. No uzimajuci u obzir zaposlenost danasnjih ljudi malo tko ima slobodnog vremena uz sve ostale obaveze
zivot je moja domovina.
↑  ↓

#7 18.11.2016 15:32
Grunf Van mreze
Clan
Registrovan od:11.11.2016
Postovi:67


Predmet:Re: javascript i mysql
Pokusacu onda po ovim sugestijama, a gdjegod se u kodu pojavljuje crtica (-) ti je izbrisi...

Citiraj Avko:
neznam pozvati phpfunkciju iz javascripta. Treba nekakav ajax i sta ti ja znam
Meni je nedavno trebalo isto, pa sam nasao da moze i bez Ajaxa. Ne znam koliko je elegantno rjesenje, ali radi. Prosljedjivanje varijabli iz Javascripta u PHP ide ovom JS komandom:

window-.-location-.-href = "nekiFajl.p-h-p?var1=" + nesto1 + "&var2=" + nesto2 + "&var3=" + nesto3;

a onda u PHP-u ove varijable (var1, var2 i var3) citas kao:

$_GET["var1"]
$_GET["var2"]
$_GET["var3"]
Ovaj post je ureden 1 puta. Posljednja izmjena 18.11.2016 15:37 od strane Grunf. ↑  ↓

#8 18.11.2016 15:50
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: javascript i mysql
window,location,href = "nekiFajl.php?var1=" + nesto1 + "&var2=" + nesto2 + "&var3=" + nesto3;
(umjesto zareza tocke)
to bi bilo kao: slanje varijabli iz javascripta u php, ja zapravo u javascript kodu nemam nikakve varijable koje moram proslijediti u phpkod. Javascript sam uzeo zbog klika jer nemogu u phpu kliknuti i da se izvrsi kod (nesto oko osvjezenja stranice itd, neznam tocno). Uglavnom javascript mi odradi download fajla kada kliknem na button. Nakon sto korisnik klikne na button i downloada fajl ja bi htio zapisati to u mysql i vidjeti koliko je tko puta skidao fajl.

ovako to sadrzajno izgleda

u html stranici imamo korisnika pod varijablom $korisnik, uzeta iz $_SESSION-A

html-kod
klik button
javascript-kod
download file

i sada trebam uvecati polje 'ukupno' u MySQL bazi tabla1 ali samo ako je kliknuto dugme za download.
zivot je moja domovina.
Ovaj post je ureden 1 puta. Posljednja izmjena 18.11.2016 15:57 od strane Avko. ↑  ↓

#9 19.11.2016 00:40
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: javascript i mysql
Prije par dana sam stavlja javascript i pustao me sad neda nista.
Dok kucas kod nista neda.
Evo primjer pa ga prilagodi sebi.

Prilozi:
Informacije o tipu datoteke za:htm  Brojac.htm
Preuzimanja:476
Velicina datoteke:561 Bajt


Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#10 21.11.2016 11:29
Grunf Van mreze
Clan
Registrovan od:11.11.2016
Postovi:67


Predmet:Re: javascript i mysql
Citiraj Avko:
a zapravo u javascript kodu nemam nikakve varijable koje moram proslijediti u phpkod. Javascript sam uzeo zbog klika jer nemogu u phpu kliknuti i da se izvrsi kod (nesto oko osvjezenja stranice itd, neznam tocno). Uglavnom javascript mi odradi download fajla kada kliknem na button. Nakon sto korisnik klikne na button i downloada fajl ja bi htio zapisati to u mysql i vidjeti koliko je tko puta skidao fajl.

probaj onda bez slanja varijabli, vidi hoce li tako pokrenuti PHP iz JS.
sta ti jos nedostaje?
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +01:00. Trenutno vrijeme: 12: 53 am.