Einzelnen Beitrag anzeigen
  #4 (permalink)  
Alt 16-05-2020, 15:39
Flavaslava
 Registrierter Benutzer
Links : Onlinestatus : Flavaslava ist offline
Registriert seit: Aug 2010
Beiträge: 15
Flavaslava befindet sich auf einem aufstrebenden Ast
Standard

Hey Sven,


hab hier mal etwas gebastelt, eventuell hilft es dir.
Ich habe die Tabellen Spalten namen nach der von der Excel Datei gemacht.


Hier ist die Tabelle:


PHP-Code:

CREATE TABLE 
`spieler` (
  `
idint(11NOT NULL,
  `
spielernamevarchar(100NOT NULL,
  `
summeint(11NOT NULL,
  `
gewonnenint(11NOT NULL,
  `
verlorenint(11NOT NULL,
  `
anderegewonnenint(11NOT NULL,
  `
gesamtpunkteint(11NOT NULL
 
ENGINE=InnoDB;
 
ALTER TABLE `spieler`
  
ADD PRIMARY KEY (`id`);

ALTER TABLE `spieler`
  
MODIFY `idint(11NOT NULL AUTO_INCREMENT
Und hier ist der PHP-Script dazu:


PHP-Code:
<?php

//Variablen definieren
$erste_zeile ""// Dies ist die Variable für die Erste Zeile
$ueberschriften ""// Dies ist die Variable für die Spaltennamen
$alle_spieler = array(); //Dies ist der Array um die Spieler einzeln zu speichern

// Datei Auslesen                   
$handle fopen ("file.csv","r");

//Zähler
$count 0;
          
while((
$data fgetcsv ($handle1000",")) !== FALSE) {
                                                
   foreach(
$data as $dat) {

    
// Erste Zeile herausfiltern
    
if($count == 0) { $erste_zeile explode(";",$dat); }

    
// Zweite Zeile herausfiltern
    
elseif($count == 1) { $ueberschriften explode(";",$dat); }


    
// Alle Spieler in Array eintragen
    
else { 

        
$arr explode(";"$dat); //Hier wird durch explode der vorherige String zu einem Array
        
$alle_spieler[] = $arr// Hier wird jeder Datensatz in alle_spieler array hinzugefügt

    
}

    
$count++;
   }


}
// Datei Schliessen
fclose ($handle);

// Datenbankverbindungsaufbau
$dbConnect = new mysqli("localhost","Datenbankbenutzername","Datenbankkennwort","Datenbankname");

//Fehler Variable definieren
$error = array();


// Alle Spieler durchlaufen
foreach($alle_spieler as $spieler) {

    
// In die Tabelle eintragen
    
$abfrage $dbConnect->query("INSERT INTO spieler(spielername,summe,gewonnen,verloren,anderegewonnen,gesamtpunkte) VALUES('".$spieler[0]."','".$spieler[1]."','".$spieler[2]."','".$spieler[3]."','".$spieler[4]."','".$spieler[5]."')");

    
// Überprüfen ob die Daten eingetragen worden sind
    
if($abfrage) {
        
$error[] = "true";
    }
    else {
        
$error[] = "false";
    }

}

// Ausgabe von von Fehlermeldung
if(in_array("false",$error)) {
    echo 
"Es ist ein Fehler aufgetreten.";
}
else {
    echo 
"Daten wurden erfolgreich in die Datenbank eingetragen.";
}

Ich habe die Tabelle die man sehen konnte weggemacht, wusste nicht ob du es brauchst, habe dafür eine Fehlermeldung eingebaut, so dass du sehen kannst ob die Daten eingetragen worden sind.


Vergiss bitte nicht bei der Datenbankverbindungsaufbau die Daten anzupassen.




Mfg
Flavaslava



Wichtiger Notiz:
Ich gebe kein Gewähr das dieses Script einwandfrei läuft. Bitte achte stets darauf einen Backup zu machen bevor du dieses Script benutzt. Dieses Script ist nur ein Vorschlag. Es gibt mehrere Wege zur Lösung. Es wurden keine Sicherheitsaspekte oder sonstige sachen beachtet, da dies nur ein Beispiel ist.
Mit Zitat antworten