Centar za edukaciju-BiH



#1 09.10.2017 23:14
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,696


Predmet:php, query upit u word
Jeli netko napravi kod kojim mysql query upit posalje u word.
1. query upit ispise se na ekranu
2. tipka koja kad se klikne skine se ili se otvori query u word-u

Netko se bavio time?
zivot je moja domovina.
↑  ↓

#2 10.10.2017 08:34
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: php, query upit u word
Ne kontam ovo.
Da upit posalje u word.
Znaci neki upit ispise na monitoru i onda taj isti zapise u doc formatu.
Jesam li dobro razumio.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 10.10.2017 09:07
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,696


Predmet:Re: php, query upit u word
Da. Ja sam uspio zapisati u obicni txt file ali meni treba file sa doc nastavkom. Ja sam stavio umjesto txt doc nastavak ali nije to to. Ako su podaci u kolonama i redovima trebalo bi tako pokazati u word-u
zivot je moja domovina.
↑  ↓

#4 10.10.2017 12:52
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: php, query upit u word
Zapisi kao delimiter zekst.
Separator neka bude tab.
Zpisi kao txt.
Otvori vord i open te odaberi text file pa otvori.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 10.10.2017 14:03
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,696


Predmet:Re: php, query upit u word
evo kako sam radio:
1. prvo moramo imati bazu i nesto u njoj. Prikaceno je prodajaVoca.sql pa moze se za primjer napraviti u bazi proba.

index.html

PreuzmiIzvorni kôd (HTML):
  1. <!DOCTYPE html>
  2. <html >
  3.         <head>
  4.                 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
  5.                 <title>prodaja voca</title>
  6.                 <meta name="viewport" content="initial-scale=1.0, width=device-width" />
  7.        
  8.                 <link rel="stylesheet" href="css/reset.css">
  9.                 <link rel="stylesheet" href="css/style.css">
  10.         </head>
  11.         <body>
  12.  
  13.         <a href="php2word.php">link text</a>
  14.                
  15.         </body>
  16. </html>

php2word.php

PreuzmiIzvorni kôd (PHP):
  1. <?php
  2. include ("konekcija.php");
  3. $konekcija=mysql_connect ($dbhost,$dbusername,$dbpass);
  4. mysql_select_db($dbname,$konekcija) or die ("Nije moguce citati iz baze!" . mysql_error());
  5. $filename="prodajaVoca.txt";
  6. $fh = fopen($filename, 'w');
  7.  
  8. $result = mysql_query("SELECT * FROM prodajavoca WHERE datum='2016-07-01' LIMIT 0,20")
  9.                                                                
  10. while ($row = mysql_fetch_array($result)) {          
  11.         $num = mysql_num_fields($result);    
  12.         $last = $num - 1;
  13.         for($i = 0; $i < $num; $i++) {            
  14.                 fwrite($fh, $row[$i]);                      
  15.                 if ($i != $last) {
  16.                         fwrite($fh, ",");
  17.                 }
  18.         }                                                                
  19.         fwrite($fh, "\n");
  20. }
  21. fclose($fh);
  22. echo "<a style='font-size:150%; color: #C90E08; href='download.php?file=".$filename."'>".$filename."</a>\n";
  23. echo "<a href='download.php?file=".$filename."'>"."<p style='font-size:150%; color: #C90E08'>"."KLIKNI ZA DOWNLOAD"."</p></a>\n";
  24.                    
  25. ?>                                     

konekcija.php

PreuzmiIzvorni kôd (PHP):
  1. <?php
  2. $dbhost = "localhost"; // Host MySQL baze
  3. $dbusername = "root"; // User MySQL baze (Unutar navodnika upisite username za pristup bazi)
  4. $dbpass = ""; // Password MySQL baze (Unutar navodnika upisite password za pristup bazi)
  5. $dbname = "proba"; // Ime MySQL baze (Unutar navodnika upisite ime baze)
  6. ?>

download.php
PreuzmiIzvorni kôd (PHP):
  1. <?php
  2.         $file = basename($_GET['file']);
  3.         $file = $file;
  4.  
  5.         if(!$file){ // file does not exist
  6.         die('file not found');
  7.                 echo '<p style="color: red;">'."nije pronasao datoteku".$file."</p>";
  8.         } else {
  9.         header("Cache-Control: public");
  10.         header("Content-Description: File Transfer");
  11.         header("Content-Disposition: attachment; filename=$file");
  12.         header("Content-Type: application/zip");
  13.         header("Content-Transfer-Encoding: binary");
  14.  
  15.         // read the file from disk
  16.         readfile($file);
  17.         }
  18. ?>

file koji dobijem (zakvacen prodajaVoca.txt)

ja bi htio da mi izgleda ovako kad otvorim:
DatumKgime
2016-07-012jabuka
2016-07-012kruska
2016-07-012mandarina
2016-07-016naranda
2016-07-016banana


Prilozi:
Informacije o tipu datoteke za:zip  prodajavoca.zip
Preuzimanja:344
Velicina datoteke:717 Bajt
Informacije o tipu datoteke za:txt  prodajaVoca.txt
Preuzimanja:386
Velicina datoteke:109 Bajt


zivot je moja domovina.
Ovaj post je ureden 1 puta. Posljednja izmjena 10.10.2017 14:52 od strane Avko. ↑  ↓

#6 11.10.2017 13:13
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,696


Predmet:Re: php, query upit u word
jebajga, nesto rijesio a nesto jos nisam.

php2word.php

PreuzmiIzvorni kôd (Text):
  1. <?php
  2. header("Content-type: application/vnd.ms-word");
  3. header("Content-Disposition: attachment; filename=test.doc");
  4.  
  5. ?>
  6. <html>
  7.         <head>
  8.                 <meta charset="UTF-8">
  9.         </head>
  10. <body>
  11. <?php
  12.         $strSQL = "SELECT       datum, kg, nazivVoca
  13.                         FROM prodajavoca
  14.                         WHERE datum='2016-07-01'
  15.                         ";
  16.         $objQuery = mysql_query($strSQL) or die ("Error Upit [".$strSQL."]");
  17.         ?>
  18.         <table width="auto" border="20" bordercolor="maroon">
  19.                 <tr>
  20.                         <th><div align="center"><p style="color: yellow;">DATUM</p></div></th>
  21.                         <th><div align="center"><p style="color: yellow;">KG</p></div></th>
  22.                         <th><div align="center"><p style="color: yellow;">NAZIV</p></div></th>
  23.                 </tr>
  24.         <?php
  25.                 while($objResult = mysql_fetch_array($objQuery))
  26.                 {
  27.                 ?>
  28.                 <tr>
  29.                         <td><div align="center"><?php echo $objResult["datum"];?></div></td>
  30.                         <td><div align="center"><?php echo $objResult["kg"];?></div></td>
  31.                         <td><div align="center"><?php echo $objResult["naziv"];?></div></td>
  32.                 </tr>
  33.                 <?php
  34.                 }
  35.         ?>
  36.                 </table>
  37.         <?php
  38.                 mysql_close($konekcija);
  39.         ?>
  40. </body>
  41. </html>

ovaj gore radi i skinuce query upit u datoteku test.doc

header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment; filename=test.doc");


ako izostavimo ovo gore, onda ce upit ispisati samo na ekran.

S obzirom da pozivam php2word.php datoteku sa druge stranice u kojoj sam upisao u formi datum za koji zelim prikaz/download kada pozivam ovu stranicu kaze mi da je header vec poslan.
pa sam pozvao/redirekt na datoteku php2word.php uz pomoc java scripta, ali mi onda nestane, izgubi se, vrijednost NULL $_GET varijabl:

prije pozivanja php2word.php stavim: $_GET['datum']=$datum;

ovako pozivam php2word.php datoteku i ne saljem header ali nemam ni varijablu $_GET['datum']=
?>
<script type="text/javascript">
    window.location.href = 'php2word.php';
</script>
<?php

ovako pozivam php2word.php i saljem varijablu $_GET['datum'],

require("php2word.php");

ali onda nesmijem imati ovo:
header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment; filename=test.doc");

a to mi je za download u word.
Znaci bez toga i onda radi ali imam ispis na ekranu.

Moje pitanje je:

Kako iz web stranice pozvati php2word, poslati varijablu datum a ne poslati header?

switch Spoiler:

zivot je moja domovina.
Ovaj post je ureden 2 puta. Posljednja izmjena 11.10.2017 13:15 od strane Avko. ↑  ↓

#7 11.10.2017 17:23
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: php, query upit u word
php2word.php

PreuzmiIzvorni kôd (PHP):
  1. <?php
  2. include ("konekcija.php");
  3. $konekcija=mysql_connect ($dbhost,$dbusername,$dbpass);
  4. mysql_select_db($dbname,$konekcija) or die ("Nije moguce citati iz baze!" . mysql_error());
  5. $filename="prodajaVoca.txt";
  6. $fh = fopen($filename, 'w')or die("Nemoze se otv oriti!");
  7.  
  8. $res = mysql_query("SELECT * FROM prodajavoca WHERE datum='2016-07-01' LIMIT 0,20")
  9. $output='';
  10. while($row = mysql_fetch_assoc($res))
  11. {
  12. foreach($row as $val)
  13.     {
  14.  $output .=$val. "     ";
  15.  
  16.         }                                                                
  17. fwrite($fh, $output. "\n" );
  18. $output='';
  19. }
  20. fclose($fh);
  21. echo "<a style='font-size:150%; color: #C90E08; href='download.php?file=".$filename."'>".$filename."</a>\n";
  22. echo "<a href='download.php?file=".$filename."'>"."<p style='font-size:150%; color: #C90E08'>"."KLIKNI ZA DOWNLOAD"."</p></a>\n";
  23.                    
  24. ?>

download.php

PreuzmiIzvorni kôd (PHP):
  1. <?php
  2.         $file = basename($_GET['file']);
  3.         $file = $file;
  4.  
  5.         if(!$file){ // file does not exist
  6.         die('file not found');
  7.                 echo '<p style="color: red;">'."nije pronasao datoteku".$file."</p>";
  8.         } else {
  9.         header("Cache-Control: public");
  10.         header("Content-Description: File Transfer");
  11.         header("Content-Disposition: attachment; filename=$file");
  12.         header("Content-Type: application/rtf");
  13.         header("Content-Transfer-Encoding: binary");
  14.  
  15.         // read the file from disk
  16.         readfile($file);
  17.         }
  18. ?>     

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#8 11.10.2017 19:17
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,696


Predmet:Re: php, query upit u word
radi ovo tvoje sa razmakom.
Za sada cu to koristiti dok malo ne uljepsam.
Pogledat cu one javascript korisne kodove i malo jos proucavati pa cu nastaviti ovdje, nadam se ako ne izgubim volju za ovim.

Slicice prilozenih slika:
download_rtf.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:341
Velicina datoteke:38.31 KB
Velicina slike: 1302 x 624 Pikseli


zivot je moja domovina.
Ovaj post je ureden 2 puta. Posljednja izmjena 12.10.2017 12:41 od strane Avko. ↑  ↓

#9 13.10.2017 00:01
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: php, query upit u word
Nije mi jasno sto zapisujes kao txt zato ne csv.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#10 13.10.2017 17:58
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,696


Predmet:Re: php, query upit u word
Zelim da se prikaze u wordu. Radim na tome da rezultat upita bude smjesten u tablicu. Blizu sam rijesenja. Muci me slanje headera. Kaze, hedear je vec poskan. Pokusavam sa java scriptom poslati datum sa jedne formeu drugo. Malo ce potrajati, ali nadam se da cu rijesiti na kraju
zivot je moja domovina.
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +01:00. Trenutno vrijeme: 10: 05 am.