export mysql σε xls encoding

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

export mysql σε xls encoding

Δημοσίευση από Apostolis_38 » 03 Σεπ 2013 16:56

Τελείως θεωρητικά μιας και δεν το έχω δοκιμάσει, δοκίμασε με str_replace να αλλάξεις τα fields του πίνακα.
Η με κάποιον παρόμοιο τρόπο, κάποιος άλλος μπορεί να ξέρει κάποιον καλύτερο τρόπο.
Σόρρυ αλλά δεν το έχω κάνει ποτέ και δεν μπορώ να σου πω μια δοκιμασμένη λύση.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

export mysql σε xls encoding

Δημοσίευση από fafos » 03 Σεπ 2013 17:17

dokimase me auta:

Κώδικας: Επιλογή όλων

$link = mysql_connect($Host, $User, $Password) or die('Could not connect: ' . mysql_error());
mysql_select_db($DBName) or die('Could not select database');
mysql_query("SET NAMES 'utf-8'");
mysql_query("SET CHARACTER SET 'utf-8'");
//////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
$select = "SELECT visits.id,visits.user_id,visits.company_id,visits.day,visits.month,visits.year,customer.name,visits.root_id,visits.start_time,visits.end_time,visits.comments,visits.evaluation FROM visits  inner join customer on visits.customer_id = customer.id where visits.user_id = '" . $_SESSION['user_id'] . "' and visits.company_id = '" . $_SESSION['company_id'] . "'";
$export = mysql_query($select);
$fields = mysql_num_fields($export);

$csv_output = '';
for &#40;$i = 0; $i < $fields; $i++&#41;
&#123;

    $csv_output .= mysql_field_name&#40;$export, $i&#41; . "\t";
&#125;
$csv_output = $csv_output . "\n";
$data = '';
while &#40;$row = mysql_fetch_row&#40;$export&#41;&#41;
&#123;
    $line = '';

    foreach &#40;$row as $value&#41;
    &#123;
        if&#40;&#40;!isset&#40;$value&#41;&#41; or &#40;$value == ""&#41;&#41;
        &#123;
            $value = "\t";
        &#125; else
        &#123;
            $value = str_replace&#40;'"', '""', $value&#41;;
            $value = '"' . $value . '"' . "\t";
        &#125;
        $line .= $value;
    &#125;
    $data .= trim&#40;$line&#41; . "\n";
&#125;

$data = str_replace&#40;"\r", "", $data&#41;;
$csv_output = mb_convert_encoding&#40;$csv_output, 'UTF-16LE', 'UTF-8'&#41;;
$data = mb_convert_encoding&#40;$data, 'UTF-16LE', 'UTF-8'&#41;;

header&#40;"Content-Type&#58; text/csv"&#41;;
header&#40;'Content-Disposition&#58; attachment; filename="customer.xls"'&#41;;
header&#40;'Content-Transfer-Encoding&#58; binary'&#41;;
header&#40;"Pragma&#58; no-cache"&#41;;
header&#40;"Expires&#58; 0"&#41;;
echo chr&#40;255&#41; . chr&#40;254&#41;;

echo $csv_output . $data;
exit&#40;&#41;;
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

export mysql σε xls encoding

Δημοσίευση από geomagas » 03 Σεπ 2013 17:19

Λίγο far-fetched, αλλά απορία:

Αν τρέξεις τις queries σου στο phpmyadmin, τα δεδομένα σου φαίνονται κανονικά;

trelamenos333
Δημοσιεύσεις: 26
Εγγραφή: 24 Σεπ 2011 03:03

export mysql σε xls encoding

Δημοσίευση από trelamenos333 » 03 Σεπ 2013 17:30

fafos η περίπτωση που μου λες θα τρέξει αλλά με τους τίτλους της βάσης, πως θα γίνει να έχει τους δικούς μου;;έχεις να μου προτίνεις κάτι;;;

geomaga όλα κανονικά είναι μέσα απο phpmyadmin!

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

export mysql σε xls encoding

Δημοσίευση από fafos » 03 Σεπ 2013 17:40

trelamenos333 έγραψε:fafos η περίπτωση που μου λες θα τρέξει αλλά με τους τίτλους της βάσης, πως θα γίνει να έχει τους δικούς μου;;έχεις να μου προτίνεις κάτι;;;

geomaga όλα κανονικά είναι μέσα απο phpmyadmin!
antikathistas to

Κώδικας: Επιλογή όλων

$csv_output = '';
for &#40;$i = 0; $i < $fields; $i++&#41;
&#123;

    $csv_output .= mysql_field_name&#40;$export, $i&#41; . "\t";
&#125; 
me tous dikous sou titlous:

Κώδικας: Επιλογή όλων

$csv_output = "ID\tΚωδικός Πωλητή\tΚωδικός Εταιρίας\tΗμέρα\tΜήνας\tΈτος\tΚωδικός Πελάτη\tΚωδικός Δρομολογίου\tΗμερομηνία\tΈναρξη Επίσκεψης\tΛήξη Επίσκεψης\tΣχόλια\tΑξιολόγιση\t";
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

trelamenos333
Δημοσιεύσεις: 26
Εγγραφή: 24 Σεπ 2011 03:03

export mysql σε xls encoding

Δημοσίευση από trelamenos333 » 03 Σεπ 2013 17:45

To έτρεξα ακριβώς όπως μου το έδωσες fafo και το αποτέλεσμα ήταν:
Τίτλοι κανονικά στα ελληνικά
ελληνικές στα κελιά όλες ερωτηματικά!

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

export mysql σε xls encoding

Δημοσίευση από fafos » 03 Σεπ 2013 17:50

trelamenos333 έγραψε:To έτρεξα ακριβώς όπως μου το έδωσες fafo και το αποτέλεσμα ήταν:
Τίτλοι κανονικά στα ελληνικά
ελληνικές στα κελιά όλες ερωτηματικά!
kati exeis lathos sto encoding ton vaseon h kai ton pedion
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

trelamenos333
Δημοσιεύσεις: 26
Εγγραφή: 24 Σεπ 2011 03:03

export mysql σε xls encoding

Δημοσίευση από trelamenos333 » 03 Σεπ 2013 17:52

tha voithouse an stis estelna pm?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

export mysql σε xls encoding

Δημοσίευση από fafos » 03 Σεπ 2013 18:06

trelamenos333 έγραψε:tha voithouse an stis estelna pm?
steiltes me merikes eggrafes
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

export mysql σε xls encoding

Δημοσίευση από geomagas » 03 Σεπ 2013 18:27

trelamenos333 έγραψε:geomaga όλα κανονικά είναι μέσα απο phpmyadmin!
Ok.
1. Ποιό είναι το default charset της php που χρησιμοποιείς;
2. Το phpmyadmin τρέχει στον ίδιο server (και άρα έχει το ίδιο charset σε επίπεδο php);

trelamenos333
Δημοσιεύσεις: 26
Εγγραφή: 24 Σεπ 2011 03:03

export mysql σε xls encoding

Δημοσίευση από trelamenos333 » 04 Σεπ 2013 21:09

Paidia gia na kleiso to post..xari ston filo fafo to leitourgiko arxeio einai to eksis:

Κώδικας: Επιλογή όλων

// DO NOT EDIT BELOW HERE //
$link = mysql_connect&#40;$Host, $User, $Password&#41; or die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;;
mysql_select_db&#40;$DBName&#41; or die&#40;'Could not select database'&#41;;
mysql_query&#40;"SET NAMES 'utf8'"&#41;;
mysql_query&#40;"SET CHARACTER SET 'utf8'"&#41;;
//////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
$select = "SELECT visits.id,visits.user_id,visits.company_id,visits.day,visits.month,visits.year,customer.name,visits.root_id,visits.start_time,visits.end_time,visits.comments,visits.evaluation FROM visits  inner join customer on visits.customer_id = customer.id where visits.user_id = '" . $_SESSION&#91;'user_id'&#93; . "' and visits.company_id = '" . $_SESSION&#91;'company_id'&#93; . "'";
$export = mysql_query&#40;$select&#41;;
$fields = mysql_num_fields&#40;$export&#41;;

$csv_output = '';

for &#40;$i = 0; $i < $fields; $i++&#41; &#123;
    $csv_output = "ID\tΚωδικός Πωλητή\ttΚωδικός Εταιρίας\tΗμέρα\tΜήνας\tΈτος\tΕπωνυμία\tΚωδικός \tΏρα Έναρξης\tΏρα λήξης\tΣχόλια\tΑξιολόγιση\t";
&#125;
$csv_output = $csv_output . "\n";
$data = '';
while &#40;$row = mysql_fetch_row&#40;$export&#41;&#41;
&#123;
    $line = '';

    foreach &#40;$row as $value&#41;
    &#123;
        if&#40;&#40;!isset&#40;$value&#41;&#41; or &#40;$value == ""&#41;&#41;
        &#123;
            $value = "\t";
        &#125; else
        &#123;
            $value = str_replace&#40;'"', '""', $value&#41;;
            $value = '"' . $value . '"' . "\t";
        &#125;
        $line .= $value;
    &#125;
    $data .= trim&#40;$line&#41; . "\n";
&#125;

$data = str_replace&#40;"\r", "", $data&#41;;
$csv_output = mb_convert_encoding&#40;$csv_output, 'UTF-16LE', 'UTF-8'&#41;;
$data = mb_convert_encoding&#40;$data, 'UTF-16LE', 'UTF-8'&#41;;

header&#40;"Content-Type&#58; text/csv"&#41;;
header&#40;'Content-Disposition&#58; attachment; filename="customer.xls"'&#41;;
header&#40;'Content-Transfer-Encoding&#58; binary'&#41;;
header&#40;"Pragma&#58; no-cache"&#41;;
header&#40;"Expires&#58; 0"&#41;;
echo chr&#40;255&#41; . chr&#40;254&#41;;

echo $csv_output . $data;
exit&#40;&#41;; 

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης