php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben || php-forumjetzt anmelden
 

SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-12-2019, 13:09
StefanSch
 Registrierter Benutzer
Links : Onlinestatus : StefanSch ist offline
Registriert seit: Dec 2019
Beiträge: 5
StefanSch befindet sich auf einem aufstrebenden Ast
Standard csv Export einer Tabelle

Hallo zusammen,


ich habe mir mit Hilfe des www diese Abfrage gebaut:
Code:
SELECT *
        FROM tabvalve_ext_angebotartikelstuecklisteext
        INTO OUTFILE '../ftp/specs/Specification_".$_SESSION['SpecID'].".csv' 
        FIELDS TERMINATED BY ';' 
        OPTIONALLY ENCLOSED BY '"'
        ESCAPED BY '\\' 
        LINES TERMINATED BY '\n'
        WHERE idtabvalveSpec = :0
        ORDER BY OP, BOM
die allerdings den Fehler
Code:
Parse error:  syntax error, unexpected '' '
verursacht. Da ich nicht sooo fit bit im Programmieren frag ich an der Stelle was ich hier letztendlich falsch gemacht habe?

Danke für Eure Hilfe!
Gruß
Stefan
Mit Zitat antworten
  #2 (permalink)  
Alt 02-12-2019, 16:05
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.809
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Bitte den kompletten PHP-Code für den Query posten. Sonst müssen wir raten.

Gruß
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 03-12-2019, 08:30
chorn
 Registrierter Benutzer
Links : Onlinestatus : chorn ist offline
Registriert seit: Nov 2011
Beiträge: 214
chorn befindet sich auf einem aufstrebenden Ast
Standard

Code:
        INTO OUTFILE '../ftp/specs/Specification_".$_SESSION['SpecID'].".csv' 
...
        OPTIONALLY ENCLOSED BY '"'
fällt dir was auf?
Mit Zitat antworten
  #4 (permalink)  
Alt 03-12-2019, 09:20
StefanSch
 Registrierter Benutzer
Links : Onlinestatus : StefanSch ist offline
Registriert seit: Dec 2019
Beiträge: 5
StefanSch befindet sich auf einem aufstrebenden Ast
Standard

Ich habe es jetzt inzwischen so gelöst:
Code:
private function exportSpecSheet(){
    $db = new mysqli(DBHOST, DBBENUTZER, DBPASSWORT, DBNAME);
    header( 'Content-Type: application/csv' );
    header( "Content-Disposition:   attachment;filename=Specification_".$_SESSION["SpecID"].".csv");
    $fp = fopen('ftp/specs/Specification_'.$_SESSION["SpecID"].'.csv', 'a');
    $sql = "SELECT *
        FROM tabvalve
        WHERE idtabvalveSpec = ".$_SESSION["SpecID"]."
        ORDER BY OP, BOM 
        ";
    $result = mysqli_query($db, $sql) or die( mysqli_error($db) );
    $row = mysqli_fetch_array($result);
    if($row) {
        fputcsv($fp, array_keys($row));
        mysqli_data_seek($result, 0);
    }
    while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
        fputcsv($fp, $row);
    }
    fclose($fp);
    readfile($fp);
}
Jetzt ist es aber so dass die Daten auf dem Rechner abgelegt werden, das heruntergeladene csv aber lediglich den Quellcode enthält. Das File wird also immer korrekt angelegt und befüllt, aber letztendlich nicht heruntergeladen.

Was mache ich denn noch falsch?
Mit Zitat antworten
  #5 (permalink)  
Alt 13-12-2019, 15:28
StefanSch
 Registrierter Benutzer
Links : Onlinestatus : StefanSch ist offline
Registriert seit: Dec 2019
Beiträge: 5
StefanSch befindet sich auf einem aufstrebenden Ast
Standard

Ich bekomme leider nach wie vor nur den Quellcode der Seite als csv zum Download bereitgestellt, lediglich der Export in ein csv-File funktioniert.

Aber was muss ich machen damit mir das korrekt exportierte csv-File zum herunterladen angeboten wird?

Könnt Ihr mir hier bitte noch einmal helfen?

Code:
private function exportSpecSheet(){
    $db = new mysqli(DBHOST, DBBENUTZER, DBPASSWORT, DBNAME);
    header( 'Content-Type: application/csv' );
    header( "Content-Disposition: attachment;filename=Specification_".$_SESSION["SpecID"].".csv");
    $fp = fopen('ftp/specs/Specification_'.$_SESSION["SpecID"].'.csv', 'a');
    $sql = "SELECT OP, BOM, SerienNrKpl, Baugruppe, Artikelnr, einzelMenge, gesMenge, Kommentar
        FROM tabvalve_ext_angebotartikelstuecklisteext
        WHERE IndexKompExt = ".$_SESSION["SpecID"]."
        ORDER BY OP, BOM 
        ";
    $result = mysqli_query($db, $sql) or die( mysqli_error($db) );
    $row = mysqli_fetch_array($result);
    if($row) {
        fputcsv($fp, array_keys($row));
        // reset pointer back to beginning
        mysqli_data_seek($result, 0);
    }
    while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
        fputcsv($fp, $row);
    }
    fclose($fp);
    readfile($fp);
}

@chorn
Gerade mit solchen Dingen bin ich leider nicht so sehr vertraut. Was passt denn nicht?
Mit Zitat antworten
  #6 (permalink)  
Alt 13-12-2019, 19:40
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.809
Kropff befindet sich auf einem aufstrebenden Ast
Standard

mal so was ähnliches ausprobiert?
PHP-Code:
header('Content-type: application/force-download');
...
$file file_get_contents('ftp/specs/Specification_'.$_SESSION["SpecID"].'.csv');
echo 
$file
Ist manchmal etwas tricky.

Gruß
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #7 (permalink)  
Alt 17-12-2019, 10:31
StefanSch
 Registrierter Benutzer
Links : Onlinestatus : StefanSch ist offline
Registriert seit: Dec 2019
Beiträge: 5
StefanSch befindet sich auf einem aufstrebenden Ast
Standard

Es klappt einfach nicht!
Ich zähle schon über 200 Downloads, aber es ist schon immer so dass das File zwar ordentlich auf dem Server mit dem richtigen Inhalt abgelegt wird, aber der Download enthält immer nur den Quellcode.
Kann es sein dass der Verweis einfach nicht passt, dass er das File zum Herunterladen dann nicht mehr findet? Fehlt da ein Strich oder ein Hochkomma? Ist da ein Zeichen zu viel oder zu wenig?


Wenn der Code nach dem "fclose" aufhört (ohne "readfile") passiert genau das gleiche. Aber fclose stößt doch keinen Download an! Oder doch?
Ich blicke hier leider nicht durch..
Mit Zitat antworten
  #8 (permalink)  
Alt 17-12-2019, 20:43
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.809
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Probier erst mal etwas ganz Einfaches:
PHP-Code:
<?php
  $open
fopen('php://file''w');
  
fputcsv($open, array('Bla','Blubb''Blubber'));
  
fclose($open);
?>
Was passiert dann?

Gruß
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #9 (permalink)  
Alt 18-12-2019, 14:29
StefanSch
 Registrierter Benutzer
Links : Onlinestatus : StefanSch ist offline
Registriert seit: Dec 2019
Beiträge: 5
StefanSch befindet sich auf einem aufstrebenden Ast
Standard

Mit genau diesem Code kann er das File nicht anlegen. Aber ich nehme an ich sollte die Zeile auch anpassen..

Wenn ich diesen Code nehme:
Code:
  $open= fopen("ftp/specs/Specification_".$_SESSION["SpecID"].".csv", 'a');
  fputcsv($open, array('Bla','Blubb', 'Blubber'));
  fclose($open);
Wird das csv mit dem Text des Arrays angelegt. Es wird dann aber kein Filer heruntergeladen.

So solls wohl auch sein. Oder?


Was müsste ich dann an meinem Code ändern?
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage zum Export einer SQL-Tabelle in csv/Excel Lavingstar PHP Developer Forum 10 14-01-2009 13:45
Problem mit CSV-Export einer MySQL-Tabelle pascaluhlmann PHP Developer Forum 3 03-03-2006 17:42
Problem mit Export einer MySQL-Tabelle pascaluhlmann PHP Developer Forum 4 26-02-2006 23:30
CSV Export aus Tabelle bweichel PHP Developer Forum 1 30-01-2006 20:21
Problem mit Csv-export in phpmyadmin und Csv-import in Excel Bazi00 Off-Topic Diskussionen 4 05-08-2004 15:18

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

OnPremise versus Cloud - das richtige System finden
Wir beleuchten in diesem Artikel, die Vor- und Nachteile für Cloud oder OnPremise Systemen. Und warum es definitiv Zeit wird in die Cloud zu wechseln.

09.05.2022 | julia_mjr

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni


 

Aktuelle PHP Scripte

phpBasics Counter

Der Counter arbeitet mit einer klassischen einstellbaren IP-Reloadsperre. Er zählt die Besucher, die Seitenaufrufe und ermittelt auch die aktuellen Onlineuser. Zur Datenspeicherung wird eine MySQL-Datenbank genutzt. Der Counter überprüft seine Instal

09.09.2022 numaek | Kategorie: PHP/ Counter
MyPHPlib-Bibliotheksverwaltung

MyPHPlib ist eine Scriptsammlung, mit der die Bibliotheksverwaltung incl. Ausleihe und Recherche gelingt. Die Scriptsammlung wird seit Mitte 2005 entwickelt und ist besonders an den Bedürfnissen von Schulen angepasst.

11.08.2022 RobertG | Kategorie: PHP/ Management
responsive vertikales Menu

Diese Menu basiert auf php, jQuery, css und ajax. Wer sein Menu mit nested sets vertikal realisieren will, findet darin eine gute Lösung.

11.08.2022 COVISIONMEDIA | Kategorie: JAVASCRIPT/ Navigation
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:12 Uhr.