Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „CSV-Werte in Variablen speichern...“

KATERchen

Aktives Mitglied

Ich komme einfach nicht weiter - eventuell habe ich auch völlig einen Denkfehler.
Ich habe eine CSV-Datei welche in eine Datenbank übertragen werden soll. Eine der Spalten soll jedoch NUR dann in der Datenbank geändert werden, wenn in der CSV-Datei ein Wert eingetragen wurde.
Beispiel:
CSV
Name Vorname Wert
Gustaf Müller
Philip Schulze 1


MySQL vorher
Name Vorname Wert
Gustaf Müller 0
Philip Schulze 0


MySQL nachher
Name Vorname Wert
Gustaf Müller 0
Philip Schulze 1


Ich lese die CSV jetzt erst mal in PHP aus:
PHP:
$Zeilen = 1;
$Dateizeiger = fopen("ccexel.csv", "r");

while(($Daten = fgetcsv($Dateizeiger, 1000, ";")) !== FALSE)
{
    $AnzahlDerFelder = count($Daten);
    echo"<p><b>",
        $AnzahlDerFelder,
        " Felder in Zeile ",
        $Zeilen,
        ":</b><br>";
    $Zeilen++;

    for($i = 0; $i < $AnzahlDerFelder; $i++)
    {
//        print_r($Daten);
        echo$Daten[$i],
            "<br>";
    }

    echo"</p>";
}

fclose($Dateizeiger);
Wird auch super angezeigt - aber um den Wert nun mit dem in der Datenbank abzugleichen, muß ich ja die einzelnen Werte in Variablen speichern - aber wie mache ich das?
Oder gibt es einen besseren Weg?
 

jens260181

Schmarotzer

AW: CSV-Werte in Variablen speichern...

deine zeile, die du von der csv einliest, hat bestimmt irgendwelche trenner

,
;
#

oder ähnliches
dafür nimmst du folgendes

$meine_daten = explode(",", $zeile_aus_der_csv);

$meine_daten ist jetzt ein array
die kannst du mit $meine_daten[0] bis $meine_daten[2] usw. auslesen
 

EnricoS

Nicht mehr ganz neu hier

AW: CSV-Werte in Variablen speichern...

Mit dem Aufruf $Daten = fgetcsv($Dateizeiger, 1000, ";")bekommst du bereits ein fertiges Array namens $daten. Du kannst jedes Feld direkt ansprechen und gleich verarbeiten.

Du brauchst nur noch dein SQL - Part dazuschreiben.

$Dateizeiger = fopen("ccexel.csv", "r");
while((
$Daten = fgetcsv($Dateizeiger, 1000, ";")) !== FALSE)
{

$Daten[0] //entspricht dem Feld 'Name'
$Daten[1] //entspricht dem Feld 'Vorname'
$Daten[2] //entspricht dem Feld 'Wert'
if($daten[2]==1){ // Sofern Deine Bedingung '1' ist
//Werte in Datenbank schreiben
}


}

fclose($Dateizeiger);


Gruß
Enrico
 

KATERchen

Aktives Mitglied

AW: CSV-Werte in Variablen speichern...

Au man...
also sowas wie das explode() habe ich gesucht. Aber die Arrays direkt auslesen ist natürlich noch einfacher :) ;)
Ich habe das zwar schon versucht, aber erst in der for-Schleife - jetzt ist mir aber auch plötzlich klar, warum das nicht gehen konnte...
Danke Euch !!
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben