Bosna i Hercegovina



#1 09.10.2017-23:14
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,233


Subject: 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?
Život je moja domovina.
↑  ↓

#2 10.10.2017-08:34
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,740


Subject: 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.
Pozdrav
↑  ↓

#3 10.10.2017-09:07
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,233


Subject: 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
Život je moja domovina.
↑  ↓

#4 10.10.2017-12:52
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,740


Subject: 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.
Pozdrav
↑  ↓

#5 10.10.2017-14:03
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,233


Subject: 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

DownloadIzvorni kod (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

DownloadIzvorni kod (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

DownloadIzvorni kod (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
DownloadIzvorni kod (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 fajlu: zip  prodajavoca.zip
Preuzimanja: 68
Veličina: 717 Byte
Informacije o fajlu: txt  prodajaVoca.txt
Preuzimanja: 79
Veličina: 109 Byte


Život je moja domovina.
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 10.10.2017-14:52 od strane Avko. ↑  ↓

#6 11.10.2017-13:13
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,233


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

php2word.php

DownloadIzvorni kod (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:

Život je moja domovina.
Ovaj komentar je mijenjan 2 puta. zadnja izmjena 11.10.2017-13:15 od strane Avko. ↑  ↓

#7 11.10.2017-17:23
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,740


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

DownloadIzvorni kod (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

DownloadIzvorni kod (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. ?>     

Pozdrav
↑  ↓

#8 11.10.2017-19:17
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,233


Subject: 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.

Ikona prilozene slike:
download_rtf.jpg
Tip fajla: Informacije o fajlu: jpg jpg
Preuzimanja: 65
Veličina: 38.31 KB
Veličina slike: 1302 x 624 Pixels


Život je moja domovina.
Ovaj komentar je mijenjan 2 puta. zadnja izmjena 12.10.2017-12:41 od strane Avko. ↑  ↓

#9 13.10.2017-00:01
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,740


Subject: Re: php, query upit u word
Nije mi jasno sto zapisujes kao txt zato ne csv.
Pozdrav
↑  ↓

#10 13.10.2017-17:58
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,233


Subject: 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
Život je moja domovina.
↑  ↓

#11 23.10.2017-12:09
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,233


Subject: Re: php, query upit u word
evo i to sam rijesio.

Naravno uz pomoc nekih stvari sa ovoga foruma koje su bile znacajne.
Mucilo me slanje hedera na drugu stranicu. Znao sam da to mozemo rijesiti java scriptom ali nisam znao kako poslati varijable iz php-a u javascript pa iz javascripta u php tako da sam odustao. Ovdje na forumu imamo zxz kolekciju korisni javascript kod u kojem imamo samo pozivanje druge php stranice bez slanja varijabli a sam nisam znao kako.
No, pronasao sam zxz php korisni kod -funkciju u kojoj brise heder i salje nas na drugu stranicu bez hedera.
Ovo je ta funkcija:

DownloadIzvorni kod (Text):
  1. function genRedirect( $url, $msg='' ) {  
  2.         // Izbrisi sve sto nam nije potrebno  
  3.     $url = preg_split("/[\r\n]/", $url);  
  4.     $url = $url[0];  
  5.         if (trim( $msg )) {  
  6.         $url     .= (strpos( $url, '?' ))? '&genmsg=' . urlencode( $msg ) : '?genmsg=' . urlencode( $msg );  
  7.     }  
  8.         if (headers_sent()) {  
  9.                 echo "<script>document.location.href='$url';</script>\n";  
  10.         } else {  
  11.                 @ob_end_clean(); // izbrisi output buffer  
  12.                 header( 'HTTP/1.1 301 Moved Permanently' );  
  13.                 header( "Location: ". $url );  
  14.         }  
  15.         exit();  
  16. }

to je zadovoljilo moje potrebe , jos mi je preostalo slanje neke varijable. Za to sam upotrijebio $_REQUEST. Nemojte me nista pitati o toj naredbi jer pojma nemam sta ona radi i kako radi.

Prvo imamo neki vas index.html u kojem imamo zxz funcija i slanje varijable. To bi izgledalo ovako:

DownloadIzvorni kod (Text):
  1. <?php
  2. function genRedirect( $url, $msg='' ) {  
  3.         // Izbrisi sve sto nam nije potrebno  
  4.     $url = preg_split("/[\r\n]/", $url);  
  5.     $url = $url[0];  
  6.         if (trim( $msg )) {  
  7.         $url     .= (strpos( $url, '?' ))? '&genmsg=' . urlencode( $msg ) : '?genmsg=' . urlencode( $msg );  
  8.     }  
  9.         if (headers_sent()) {  
  10.                 echo "<script>document.location.href='$url';</script>\n";  
  11.         } else {  
  12.                 @ob_end_clean(); // izbrisi output buffer  
  13.                 header( 'HTTP/1.1 301 Moved Permanently' );  
  14.                 header( "Location: ". $url );  
  15.         }  
  16.         exit();  
  17. }
  18.                        
  19. $_REQUEST["mjesec"]=$mjesec;
  20. genRedirect("ispis.php","");
  21. ?>

sada nas program posalje na php datoteku u kojoj se samo ispise naekranu rezultat mysql upita i kako bi to izgledalo u word-u.

ispis.php

DownloadIzvorni kod (Text):
  1. <?php
  2. error_reporting(0);
  3. //Ukljucivanje konfiguracijskog file-a
  4. include("konekcija.php");
  5. //Otvaranje konekcije na bazu
  6. $konekcija=mysql_connect ($dbhost,$dbusername,$dbpass);
  7. //Vraca se varijabla veza koja oznacava uspjeh konekcije
  8. mysql_select_db($dbname,$konekcija) or die ("Nije moguce citati iz baze!" . mysql_error());
  9. //citanje nasih slova
  10. mysql_query("SET NAMES 'utf8'");
  11. //omogucavanje velikih upita
  12. mysql_query("set sql_big_selects=1");
  13.        
  14. ?>
  15. <html>
  16. <title>ispis</title>
  17. <head>
  18. <meta charset="UTF-8">
  19.  
  20. </head>
  21. <body>
  22. //ISPIS ZAGLAVLJA, PREMA VLASTITOM IZBORU
  23. <table width="100%" border="1" style="border: 1px solid #999999; border-collapse: collapse; margin:0 auto; background:#ffffff; border-radius:20px;">
  24.         <tr style="background:#3366cc; color:#ffffff; font:normal 15px Tahoma; height:40px;">
  25.                 <th>ime kolona_1</th>
  26.                 <th>ime kolona_2</th>
  27.                 <th>ime kolona_3</th>
  28.         </tr>
  29.  
  30. <?php
  31.  
  32. $korisnik=$_REQUEST["mjesec"];
  33.  
  34. if ($_REQUEST["mjesec"]<>'') {
  35.        
  36.         $mjesec=$_REQUEST["mjesec"];
  37.        
  38.                 $strSQL = "SELECT kolona_1,kolona_2, kolona_3
  39.                                         FROM prodajaVoca
  40.                                         WHERE MONTH(datum) =  '$mjesec'
  41.                                         ORDER BY datum ASC
  42.                 $objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
  43.        
  44. }
  45.  
  46. if (mysql_num_rows($objQuery)>0) {
  47.         while($objResult = mysql_fetch_array($objQuery))
  48.         {
  49.                 //ISPIS VRIJEDNOSTI UPITA
  50.                 ?>
  51.                 <tr style="font:normal 12px Tahoma; color:#333333;">
  52.                         <td style="padding:10px;"><?php echo $objResult["kolona_1"];?></a></td>
  53.                         <td style="padding:10px;"><?php echo $objResult["kolona_2"];?></td>
  54.                         <td style="padding:10px;"><?php echo $objResult["kolona_3"];?></td>
  55.                 </tr>
  56.                 <?php
  57.         }
  58. }else{
  59.         echo'<tr><td colspan="5">Nema rezultata.</td>';
  60. }
  61. ?>
  62. </table>
  63.  
  64. <a href="print.php?<?php
  65.     echo "mjesec=".$_REQUEST["mjesec"];
  66. ?>">IZVOZ U WORD</a>
  67.  
  68. </body>
  69. </html>

Nakon sto se rezultat ispisao na ekranu na kraju je ponuden link IZVOZ u WORD, ako kliknemo na njega bit cemo poslani u sljedecu php datoteku imena print.php koja ponovi upit i snimi na hard disk:

print.php

DownloadIzvorni kod (Text):
  1. <?php
  2. error_reporting(0);
  3. //Ukljuivanje konfiguracijskog file-a
  4. include("konekcija.php");
  5. //Otvaranje konekcije na bazu
  6. $konekcija=mysql_connect ($dbhost,$dbusername,$dbpass);
  7. //Vraca se varijabla veza koja oznacava uspjeh konekcije
  8. mysql_select_db($dbname,$konekcija) or die ("Nije moguce citati iz baze!" . mysql_error());
  9. //citanje nasih slova
  10. mysql_query("SET NAMES 'utf8'");
  11. //omogucavanje velikih upita
  12. mysql_query("set sql_big_selects=1");
  13.  
  14. HEADER("Content-Type: application/msword");
  15. HEADER("Content-Disposition: attachment; filename=satnica.doc");
  16. HEADER("Pragma: no-cache");
  17. HEADER("Expires: 0");
  18.  
  19. $mjesec=$_REQUEST["mjesec"];
  20.  
  21. if ($_REQUEST["mjesec"]<>'') {
  22.        
  23.         $mjesec=$_REQUEST["mjesec"];
  24.        
  25.                 $strSQL = "SELECT kolona_1,kolona_2, kolona_3
  26.                                         FROM prodajaVoca
  27.                                         WHERE MONTH(datum) =  '$mjesec'
  28.                                         ORDER BY datum ASC
  29.                 $objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
  30.        
  31. }
  32. ?>
  33. //ISPIS ZAGLAVLJA, PREMA VLASTITOM IZBORU
  34. <table border='1' width='100%' style='border: 1px solid #999999; border-collapse: collapse; margin:0 auto; background:#ffffff; border-radius:20px;'>
  35.         <tr style='background:#3366cc; color:#ffffff; font:normal 15px Tahoma; height:40px;'>
  36.                 <th>ime kolona_1</th>
  37.                 <th>ime kolona_2</th>
  38.                 <th>ime kolona_3</th>
  39.         </tr>
  40. <?php
  41. if (mysql_num_rows($objQuery)>0) {
  42.         while($objResult = mysql_fetch_array($objQuery))
  43.         {
  44.         //ISPIS VRIJEDNOSTI UPITA
  45.         ?>
  46.         <tr style="font:normal 12px Tahoma; color:#333333;">
  47.                 <td style="padding:10px;"><?php echo $objResult["kolona_1"];?></a></td>
  48.                 <td style="padding:10px;"><?php echo $objResult["kolona_2"];?></td>
  49.                 <td style="padding:10px;"><?php echo $objResult["kolona_3"];?></td>
  50.         </tr>
  51. <?php
  52.         }
  53. }else{
  54.         echo'<tr><td colspan="5">Nema rezultata.</td>';
  55. }
  56. ?>
  57. </table>       

Sve lijepo izgleda. Heder je poplavljen , a ispod u kolonama sa mrezom table stavljeni su podaci. Isto je kada otvorite u word dokumentu.

eto toliko od mene. Moram napomenuti da danas uz razne profesionalne alate za izradu web stranica nitko vise ni ne uci o html-u. php se jos upotrebljava ali mi je jednom poznanik koji je svojevremeno bio urednik informatickog casopisa i vlasnik, u razgovoru rekao da predem na pyton.

Meni taj php dode kao igranje saha, upotrijebimo mozdane vijuge i razmisljamo. Sah se danas isto malo igra. Sve je manje penzionera koji su na klupicama igrali sah, a taksiste vise nemozes naci da stoje i cekaju musterije. Tako da ni oni na haubama 220D mercedesa linije 123 vise ne igraju sah. Jure gradom i traze musterije.
Život je moja domovina.
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 23.10.2017-12:12 od strane Avko. ↑  ↓

#12 23.10.2017-15:19
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,525


Subject: Re: php, query upit u word
Sekogas ke postojat luge koi gi ubeduvaat programerite da preminat od eden programski jazik nadrug,a pritoa ne napravile nikogas nekakov program ,samo citale nekakvi si teorii.
Vo praksa retko koga nekoj musterija go interesira vo sto i kako e napraven programot,bitno e toj program da gi zadovoluva kriteriumite i potrebite na kupecot.
Mene od sekogas me demotivirale zosto rabotam vo Access ili VB6 i mi velele pogotovo za Accesst deka ne e profesionalna alatka za programirajne,a vb6 deka e mnogu star.
Pa taka jas demotiviran napraviv nekolku pomali programi vo Visual Studio 2005 i 2010 i sto e najloso nikoj ne zabeleza,a i ne go interesirase vo sto sum programiral.
Taka jas si donesov odluka da programiram vo ona sto jas najdobro go znam i kade sto sum najkomoten vo rabotata.
Moj sovet ti e da rabotis vo toa sto ti sakas ,a ne vo nesto sto nekoj ti rekol deka e podobro.
Kienti sekogas ke ima.
↑  ↓

#13 23.10.2017-17:14
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,233


Subject: Re: php, query upit u word
Tako je aleksa. Ako ne radis ono sto volis bar voli ono sto radis
Život je moja domovina.
↑  ↓

Stranice (1): 1


All times are GMT +01:00. Current time: 24.09.2018-05:38.