Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
SGM
HV kasutaja

liitunud: 04.12.2005
|
29.01.2009 19:51:32
abi vaja: MySQL tabel --> mingifail.csv |
|
|
Et kuidas php-ga salvestada saaks veebilehe sisu (mysql-tabelist) CSV-failiks, näiteks lingile klikates? Link ei tohi viia uuele lehele, vaid peab kohe pakkuma faili allalaadimist.
Leidsin mingi sellise crap-i: http://codingtricks.blogspot.com/2008/01/make-csv-from-mysql-query-result-it-php.html
Kommentaarid on kiitvad, aga ma sõimaks teda hoopis, sest mul see script väljastas vaid tühja valge lehe, ei mingeid erroreid ega mitte ainsatki bitti infot pole page source'is ka näha. Midagi jäi mul äkki puudu või mis saab valesti olla?
viimati muutis SGM 29.01.2009 19:53:23, muudetud 1 kord |
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
1 :: |
0 |
|
tagasi üles |
|
 |
inzinz
HV kasutaja
liitunud: 26.01.2005
|
29.01.2009 19:52:04
|
|
|
Kas kopeerisid otse php teksti sisse ?
Kas mysql connection on tehtud mysql_connect ja mysql_select_db käskudega ?
Kas "select * from tickets" muutsid ära enda tabelile vastavaks ? ("select * from minuhuvitabel")
_________________ Upload.ee - eestimaine failiupload
viimati muutis inzinz 29.01.2009 19:55:55, muudetud 2 korda |
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
SGM
HV kasutaja

liitunud: 04.12.2005
|
29.01.2009 19:55:16
|
|
|
inzinz kirjutas: |
Kas kopeerisid otse php teksti sisse ?
Kas mysql connection on tehtud mysql_connect ja mysql_select_db käskudega ?
Kas "select * from tickets" muutsid ära enda tabelile vastavaks ? ("select * from minuhuvitabel") |
Mul on:
mysql_connect($dbhost, $dbuser, $dbpass);
$query = "SELECT * FROM ".$dbname.".tabel WHERE blah = '$blah' AND buu = '1' ORDER BY id DESC";
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
1 :: |
0 |
|
tagasi üles |
|
 |
inzinz
HV kasutaja
liitunud: 26.01.2005
|
29.01.2009 19:55:43
|
|
|
lisa faili algusesse
set_error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
vaata mis siis ütleb sulle
_________________ Upload.ee - eestimaine failiupload |
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
SGM
HV kasutaja

liitunud: 04.12.2005
|
29.01.2009 20:01:33
|
|
|
Lisasin algusesse, tühjus.
Nüüd sain sellega http://www.phpclasses.org/browse/package/3973.html
nii, et kuvab ekraanile mingi sodi kõik, komaga eraldatud on eri väljade sisu, ei mingit korrastust.
Soovin just nii, et näiteks kommentaaride tabelist saaksin kätte sisu nii, nagu ma seda veebilehel näen:
kasutajanimi - 01.01.2009 - 12:00
blaablaa
blaa blaa. |
Aga see kuvab mulle ekraanile: "id,kasutaja,1233239559,1,0,blaablaa blaa blaa."
Isegi reavahetusi pole! :S Ja pealegi soovin ju saada lingist otse faili kätte, mitte kuvada ekraanile mingit saasta. Juhe kärssab.
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
1 :: |
0 |
|
tagasi üles |
|
 |
inzinz
HV kasutaja
liitunud: 26.01.2005
|
29.01.2009 20:16:16
|
|
|
võta ja pane sinna tolle phpclasses faili algusesse samad header käsud:
header("Content-type:text/octect-stream");
header("Content-Disposition:attachment;filename=chargRep.csv");
siis peaks hakkama downloadi pakkuma
Muideks, kui browseriga vaatad php poolt väljastatud faili, siis tavalisi reavahetusi sa ei näegi browseris reavahetusena vaid tühikuna, kuna browser on html mode's defaultina ning html's reavahetus on whitespace ehk kuvatakse tühikuna
_________________ Upload.ee - eestimaine failiupload |
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
neros
HV Guru

liitunud: 26.11.2003
|
30.01.2009 07:16:33
|
|
|
Nagu ma aru saan, sul on vaja mysql tabelist saada kirjed CSV formaati? Miks enda elu raskeks teha ja kõrvalisi skripte kasutada?
php:
|
function DownloadCSV() { $query = mysql_query("SELECT * FROM ". $dbname. ".tabel WHERE blah = '$blah' AND buu = '1' ORDER BY id DESC") or die(mysql_error()); // Faili väljastamine header("Content-type: text/octet-stream"); header("Content-Disposition: attachment; filename=\"output.csv\""); { $date = date("m.d.Y - H:i", $row['date']); echo $row['kasutaja']. ",". $row['nimi']. ",". $row['blah']. "\n"; } }
|
$row['kasutaja'] asendad siis vastavate väljadega mida sul tarvis on. kuupäeva õigele kujule saamiseks on date() funktsioon. "\n" viskab reavahetuse.
|
|
Kommentaarid: 48 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
40 |
|
tagasi üles |
|
 |
Renka
HV Guru

liitunud: 01.04.2002
|
|
Kommentaarid: 71 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
61 |
|
tagasi üles |
|
 |
SGM
HV kasutaja

liitunud: 04.12.2005
|
30.01.2009 12:51:57
|
|
|
khm, sain nüüd selle lingilt downloadimise tööle, tänud aitajatele!
Aga formaadiga on miski mäda jah. Notepadiga pole reavahetusi, seal on \n kohtades mingid kastikesed ja rida ei murdu. Excel kuvab reavahetusi õigesti, aga info on tabeli peal segaselt, tabeli raamistik segab selle nägemist, info ei ole tabeli ruutudes sees, vaid kuidagi üle selle suvaliselt, nagu tavatext.
Lepiksin väga hästi ka tekstifailiga, mida saab notepadiga vaadata, peaasi, et reavahetused korras oleks.
EDIT:
Sain reavahetuse korda, panin \r\n sinna, selle asemel, et ainult \n panna.
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
1 :: |
0 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
neros
HV Guru

liitunud: 26.11.2003
|
30.01.2009 18:06:02
|
|
|
köhh.. seda võib seletada sellega, et pole CSV'd kunagi vaja läinud ning et ma kirjutasin selle peale 36 järjestikust tundi ülevalolemist ühte proge debugides
Ning excel peakski vist defauldis niimoodi käituma, et hoiab kõik vahed defaultina kui muudmoodi pole sätestatud, mis juhtub kui ullpikk kirje kusagil sisse satub.
_________________ GitHub
.NET Core & Azure baasil lahendused ja arhitektuur - kontakt. |
|
Kommentaarid: 48 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
40 |
|
tagasi üles |
|
 |
HacaX
HV Guru

liitunud: 22.01.2004
|
31.01.2009 21:12:26
|
|
|
Kas need ruudud mitte vana hea 10h ehk *NIXi ravahetus ole? Sellega alaväärtuslik Notepad tõesti midagi peale ei hakka, on ta ju jäägitult kinni DOSi/Winni kasutatavas 13h 10h kombinatsioonis. WordPad samas on muu platvormi peal levinud reavahetustega täiesti kursis ming peaks korrektselt kuvama ning salvestamisel Winnile sobivaks ümber konvertima.
Idee poolest peaks probleem lahenema kui "\n" asemel saata "\r\n".
EDIT: ehh, teemaalgataja ise kah selle lahenduse peale tulnud
_________________ IMO & GPLed |
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
22 |
|
tagasi üles |
|
 |
SGM
HV kasutaja

liitunud: 04.12.2005
|
31.01.2009 23:55:13
|
|
|
Jep. Muud tekstieditorid paistavad kuvavat Unix-i tüüpi reavahetusi, aga ainult Notepad kuvab ruute. Seda on varemgi ette tulnud, serverist võetud textifailidega jms.
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
1 :: |
0 |
|
tagasi üles |
|
 |
|