01. 08. 2012. | #11 |
profesionalac
Professional
Datum učlanjenja: 29.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
Moze li ovako da se to skucka, nesto sam na brzinu pokusao:
Kôd:
<?php /** * Export an array as downladable Excel CSV * @param array $header * @param array $data * @param string $filename */ include('include/config.php'); function toCSV($header, $data, $filename) { $sep = "\t"; $eol = "\n"; $csv = count($header) ? '"'. implode('"'.$sep.'"', $header).'"'.$eol : ''; foreach($data as $line) { $csv .= '"'. implode('"'.$sep.'"', $line).'"'.$eol; } header('Content-Description: File Transfer'); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment; filename='.$filename.'.csv'); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); $csv = chr(255) . chr(254) . mb_convert_encoding($csv, 'UTF-16LE', 'UTF-8'); header('Content-Length: '. strlen($csv)); echo $csv; exit; } $select = "SELECT * from radnik where pozicija ='Uprava' "; $export = mysql_query ( $select ) or die ( "Sql error : " . mysql_error( ) ); $fields = mysql_num_fields( $export ); for ( $i = 0; $i < $fields; $i++ ) { $header .= mysql_field_name( $export , $i ) . "\t"; } while( $row = mysql_fetch_row( $export ) ) { $line = ''; foreach( $row as $value ) { if ( ( !isset( $value ) ) || ( $value == "" ) ) { $value = "\t"; } else { $value = str_replace( '"' , '""' , $value ); $value = '"' . $value . '"' . "\t"; } $line .= $value; } $data .= trim( $line ) . "\n"; } $data = str_replace( "\r" , "" , $data ); if ( $data == "" ) { $data = "\n(0) Pronadjeno zapisa!\n"; } $filename='test'; toCSV($header, $data,$filename); ?> |
01. 08. 2012. | #12 |
banned
Professional
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
|
Funkcija toCSV za prva dva argumenta ($header i $data) očekuje nizove, a ti joj prosleđuješ stringove
__________________
Don't look at me; I'm lost too. “If you can't dazzle them with brilliance, baffle them with bul*s**t.” |
03. 08. 2012. | #13 |
profesionalac
Professional
Datum učlanjenja: 29.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
Ajde sacekacemo sta @ivanhoe kaze, mozda ovo moze jednostavnije da se resi bez ovog mog komplikovanja.
|
03. 08. 2012. | #14 |
Ivan Dilber
Sir Write-a-Lot
|
pa nemam sta da kazem, funkcija je ok, nego joj ne prosledjujes dobro podatke, ovo sto ti branko rece...
Probaj ovako: PHP kôd:
__________________
Leadership is the art of getting people to want to do what you know must be done. |
04. 08. 2012. | #15 |
profesionalac
Professional
Datum učlanjenja: 29.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
@ivanhoe hvala sto se trudis.
Kad pokrenem ovaj skript napravi mi se .csv fajl koji sadrzi poruku o gresci: Kôd:
Invalid argument supplied for foreach() on line 17 Kôd:
foreach($data as $line) { $csv .= '"'. implode('"'.$sep.'"', escape_csv($line) ).'"'.$eol; } |
04. 08. 2012. | #16 |
banned
Professional
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
|
Možda upit ne pronađe nijedan rezultat u bazi pa ovo stvara problem:
PHP kôd:
PHP kôd:
PHP kôd:
__________________
Don't look at me; I'm lost too. “If you can't dazzle them with brilliance, baffle them with bul*s**t.” Poslednja izmena od Br@nkoR : 04. 08. 2012. u 16:02. |
04. 08. 2012. | #17 |
profesionalac
Professional
Datum učlanjenja: 29.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
Da problem je bio kad nema ni jednog zapisa u bazi. Koristio sam ovja drugi nacin i evo mi sadrzaja test.csv fajla (Jedan red izgleda ovako):
Kôd:
"262"" ""Ilija"" ""Ivkovi?"" ""HET1"" ""Nepoznato"" ""222"" ""Nepoznato"" ""Nepoznato"" ""222"" ""06512345679"" ""IIvkogiv@mail.net""" |
05. 08. 2012. | #18 |
banned
Professional
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
|
Ne znam, kada testiram kod sebe radi, pokušaj da izvršiš upit posle izvršene konekcije:
PHP kôd:
Pogledaj i ovo: http://www.mysql.rs/2010/07/smece-u-...-zna-koji-put/
__________________
Don't look at me; I'm lost too. “If you can't dazzle them with brilliance, baffle them with bul*s**t.” |
"Hvala" Br@nkoR za poruku: |
10. 08. 2012. | #19 | |
profesionalac
Professional
Datum učlanjenja: 29.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
Citat:
Pokusavao sam malo da unapredim skript pa recimo da hocu da mi se ovaj export desava na klik dugmeta i uradio sledece: Kôd:
<html> <body> //Select lista samo za jednu opciju <?php echo'<form method="POST" action="'.$_SERVER['PHP_SELF'].'"> <select name="pozicija"> <option value="Uprava">Uprava</option> <input type="submit" name="submit" value="export"> </select> </form>';?> </body> </html> <?php if (isset($_POST['submit'])) { $select = "SELECT *from radnik where pozicija ='Uprava' "; $export = mysql_query( $select ) or die ( "Sql error : " . mysql_error( ) ); $fields = mysql_num_fields( $export ); $header = $data = array(); for ( $i = 0; $i < $fields; $i++ ) { $header[] = mysql_field_name( $export , $i ); } while( $row = mysql_fetch_row( $export ) ) { $data[] = $row; } if ( !$data ) { $data[] = array("(0) Pronadjeno zapisa!"); } $filename='test'; toCSV($header, $data, $filename); } ?> Kôd:
"Sinisa ""Kova" "evi"" ""HET1"" ""14"" ""227"" """" """" """" """" ""SKovacevic@net.com""" |
|
10. 08. 2012. | #20 |
banned
Professional
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
|
Štampaš html kod pre cvs podataka.
PHP kôd:
__________________
Don't look at me; I'm lost too. “If you can't dazzle them with brilliance, baffle them with bul*s**t.” |
|
|