Centar za edukaciju-BiH



#1 30.09.2016 12:26
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,691


Predmet:klikom na tipku izvrsiti php kod
imam kalendar.php file, htio bi klikom na tipku izvrsiti php kod

zasto nisam mogao staviti kod, to vam neznam reci. Juce sam stavio pa puko server pa iz toga razloga danas stavljam capture


meni se desi da automatski snimi kod bez da ceka da ja kliknem na tipku (button), znate li mozda kako napraviti da tek kada kliknes na tipku izvrsi se kod?
puno pricaju po internetu o AJAX, JQuey AJAX i java/script a ja o tome nemam pojma.
zivot je moja domovina.
Ovaj post je ureden 3 puta. Posljednja izmjena 30.09.2016 12:31 od strane Avko. ↑  ↓

#2 01.10.2016 18:28
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: klikom na tipku izvrsiti php kod
Evo primjer:
Forma za unos
<body>
<form method="POST" action="upis.php"><br />
Ime:<input name="ime" type="text" /><br />
Prezime:<input name="prezime" type="text" /><br />
Broj Telefona:<input name="broj" type="text" /><br/>
<input type="submit" value="Pošalji" name="posalji">
</form>>
</body>
Znaci tvoj kod php mora biti u datoteki action="upis.php"
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 01.10.2016 23:36
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,691


Predmet:Re: klikom na tipku izvrsiti php kod
startPHP
$kalendar=mysql_query("SELECT datum,Subject FROM tabla1 WHERE id='$korisnik' ") or die(mysql_error());
$csv= "Subject".",Start Date"."\n";
while ($row = mysql_fetch_array($kalendar)){
    $strStartDate=(string)date('m/d/Y',strtotime($row[0]));
    $strSubject=mb_strtoupper((string)$row[1],'UTF-8');
    $csv.='"'.$strSubject.'",'.'"'.$strStartDate.'"'."\n";
    }
endPHP

<button id="b">export to CSV</button>
<script type="text/javascript">
    function exportToCsv() {
        var myCsv = |startPHPkod|echo json_encode($csv);|endPHPkod| ;
        window.open('data:text/csv;charset=utf-8,' + escape(myCsv));
        }

    var button = document.getElementById('b');
    button.addEventListener('click', exportToCsv);
</script>

evo ovo radi, pretvori podatke iz mysql-a u csv file, a onda klikom na button (export to CSV) posalje to preko browsera na hard disk (snimi datoteku)

trebam pomoc za dvije stvari:
1. kako dati ime fajlu kalendar.csv, sada mi se snimi kao download fajl bez ekstenzije
2. nasi znakovi se ne pretvore, csv ima ispravno no download fajl nema nase znakove

zna li netko?
sto se tice utf-8 mislim da je greska negdje u javascriptu var myCsv, trebalo bi nesto sa escape i unescape napraviti

PS.ponovo se srusio server zbog moje greske. treba izbjegavati oznaku za phpkod znakmanjeiupitnik te upitnikiznakvece za kraj phpkoda ako se to stavi dode do rusenja
zivot je moja domovina.
Ovaj post je ureden 9 puta. Posljednja izmjena 02.10.2016 11:43 od strane Avko. ↑  ↓

#4 04.10.2016 09:24
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,691


Predmet:Re: klikom na tipku izvrsiti php kod
i ovo radi:
<a href='#' onclick='downloadCSV({ filename: "kalendar.csv" });'>Download CSV</a>

<script type="text/javascript">
    function downloadCSV(args) {
        var data, filename, link;
        var csv = |php| echo json_encode($csv);|php|;
        filename = args.filename || 'export.csv';
        if (!csv.match(/^data:text\/csv/i)) {
            csv = 'data:text/csv;charset=utf-8,' + csv;
        }
        data = encodeURI(csv);
        link = document.createElement('a');
        link.setAttribute('href', data);
        link.setAttribute('download', filename);
        link.click();
        }
</script>

i ovo radi:

<form>
<a id="link" target="_blank" download="kalendar.csv">Download</a>
</form>
                        
<script>
    data = [];
    data.push(|php| echo json_encode($csv);|php|);
    properties = {type: 'plain/text'}; // Odredite datoteku u MIME tip.
    try {
        // Odredite naziv datoteke pomoću File konstruktor, ali ...
        file = new File(data, "file.txt", properties);
    } catch (e) {
        // ... Padne natrag na Blob konstruktora i ako to ne podržava.
        file = new Blob(data, properties);
    }
    url = URL.createObjectURL(file);
    document.getElementById('link').href = url;
</script>

kljucni red je bio json_encode($csv), guranje matrice u varijablu
zivot je moja domovina.
↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 6: 21 am.