hallo @ all,
ich hab als absolute anfängerin ein riesiges problem. ich möchte
eine text datei auslesen und die daten in mysql speichern und
wenn das noch nicht genug ist möchte ich auch einige dieser daten
gleich auf der selben seite wieder ausgeben.
die daten sollen jedesmal beim aufruf der seite neu in die mysql
datenbank geschrieben werden da sich die daten im text file in
unregelmäßigen abständnen verändern sprich manchmal im minuten takt
manchmal im stunden takt. das ganze ist eine rangliste für ein altes
game. die einzlne zeile sieht wie folgt aus:
1 Player1 3111 1157 345557 11 115 52 63 10 6617.024711 183 35828.615254 3 5 5 14 10 6 49 9 0 2 7 55 7 19 6 5 0 2 1 2 2 1 1 1 0 0 1
ergibt somit exact 40 daten pro zeile und die menge der zeilen ist variabel das kommt auf die menge der spieler an.
nun mein script was ich mir zusammen gepuzzelt hab was aber leider nicht wirklich geht. weder daten schreiben in mysql noch anzeige derselbigen.
<?php error_reporting(E_ALL);include ("sqlconfig.php"); /\* infos aus textfile lesen\*/ if(isset($update)) { echo"updating database..."; /\* daten vorhanden? \*/ if ( !$ranksTXT = file\_get\_contents ( "ranks.txt" ) ) { mysql\_query("truncate table ranks"); echo"Keine Daten vorhanden"; } else { mysql\_query("truncate table ranks"); /\* daten hinzufügen \*/ $playersArray = explode( "\n", $ranksTXT); $arraysize = sizeof($playersArray) -1; for ( $i = 0; $i { $playersArray[$i] = explode ( "\t", $playersArray[$i] ); /\* str\_replace wegen der namen mit ' \*/ $rank = trim($playersArray[$i][0]); $name = str\_replace ( "'", "\'", trim($playersArray[$i][1]) ); $kills = trim($playersArray[$i][2]); $deaths = trim($playersArray[$i][3]); $score = trim($playersArray[$i][4]); $mvp = trim($playersArray[$i][5]); $games = trim($playersArray[$i][6]); $GDI = trim($playersArray[$i][7]); $nod = trim($playersArray[$i][8]); $buildingKills = trim($playersArray[$i][9]); $buildingRepair = trim($playersArray[$i][10]); $vehicleKills = trim($playersArray[$i][11]); $vehicleRepair = trim($playersArray[$i][12]); $nodHarv = trim($playersArray[$i][13]); $nodBug = trim($playersArray[$i][14]); $nodApc = trim($playersArray[$i][15]); $nodArt = trim($playersArray[$i][16]); $nodLight = trim($playersArray[$i][17]); $nodFlame = trim($playersArray[$i][18]); $nodStank = trim($playersArray[$i][19]); $nodApache = trim($playersArray[$i][20]); $nodTrans = trim($playersArray[$i][21]); $gdiHarv = trim($playersArray[$i][22]); $gdiHum = trim($playersArray[$i][23]); $gdiApc = trim($playersArray[$i][24]); $gdiMrl = trim($playersArray[$i][25]); $gdiMed = trim($playersArray[$i][26]); $gdiMam = trim($playersArray[$i][27]); $gdiOrca = trim($playersArray[$i][28]); $gdiTrans = trim($playersArray[$i][29]); $nodHon = trim($playersArray[$i][30]); $nodRef = trim($playersArray[$i][31]); $nodObi = trim($playersArray[$i][32]); $nodPp = trim($playersArray[$i][33]); $nodAir = trim($playersArray[$i][34]); $gdiBar = trim($playersArray[$i][35]); $gdiRef = trim($playersArray[$i][36]); $gdiAgt = trim($playersArray[$i][37]); $gdiPp = trim($playersArray[$i][38]); $gdiWf = trim($playersArray[$i][39]); if ( ( $sql = mysql\_connect( $dbhost, $dbuser, $dbpasswd ) ) == FALSE ) $sqlError = "Kann keine Datenbankvrbindung herstellen. Suchfunktion deaktiviert"; if ( mysql\_select\_db ( $dbname ) == false ) { $sql = false; $sqlError = "Kann keine Datenbankvrbindung herstellen. Suchfunktion deaktiviert"; } echo "Falsche Einstellungen in sqlconfig.php"; mysql\_query ( "TRUNCATE TABLE ranks" ); mysql\_query("INSERT INTO ranks (rank, name, kills, deaths, score, mvp, games, gdi, nod, buildingKills, buildingRepair, vehicleKills, vehicleRepair, nodHarv, nodBug, nodApc, nodArt, nodLight, nodFlame, nodStank, nodApache, nodTrans, gdiHarv, gdiHum, gdiApc, gdiMrl, gdiMed, gdiMam, gdiOrca, gdiTrans, nodHon, nodRef, nodObi, nodPp, nodAir, gdiBar, gdiRef, gdiAgt, gdiPp, gdiWf) VALUES('".$rank."','".$name."','".$kills."','".$deaths."','".$score."','".$mvp."','".$games."','".$gdi."','".$nod."','".$buildingKills."','".$buildingRepair."','".$vehicleKills."', '".$vehicleRepair."','".$nodHarv."','".$nodBug."','".$nodApc."','".$nodArt."','".$nodLight."','".$nodFlame."','".$nodStank."','".$nodApache."','".$nodTrans."','".$gdiHarv."', '".$gdiHum."','".$gdiApc."','".$gdiMrl."','".$gdiMed."','".$gdiMam."','".$gdiOrca."','".$gdiTrans."','".$nodHon."','".$nodRef."','".$nodObi."','".$nodPp."','".$nodAir."', '".$gdiBar."','".$gdiRef."','".$gdiAgt."','".$gdiPp."','".$gdiWf."')") or die(mysql\_error()); } { echo""; } } else { /\* alles erledigt nun die neuen daten anzeigen \*/ echo"Rank Name Score Kills Deaths GDI Nod Games "; /\* verteilen der ergebisse. max anzeige 50 pro seite \*/ if(!isset($\_GET['pagecount'])){ $pagecount = 1; } else { $pagecount = $\_GET['pagecount']; } $max\_results = 50; $from = (($pagecount \* $max\_results) - $max\_results); $total\_results = mysql\_result(mysql\_query("SELECT COUNT(\*) as Num FROM ranks"),0); $total\_pages = ceil($total\_results / $max\_results); $fetch = mysql\_query("SELECT \* FROM `ranks` ORDER BY score DESC limit $from, $max\_results"); while($myrow = mysql\_fetch\_object($fetch)) { echo"$myrow-\>rank $myrow-\>name $myrow-\>score $myrow-\>kills $myrow-\>deaths $myrow-\>gdi $myrow-\>nod $myrow-\>games "; } } echo""; echo""; /\* hinzufügen der links um alle seiten zu sehen \*/ if($pagecount \> 1){ $prev = ($pagecount - 1); echo "[ "; } for($i = 1; $i $i](%255C%2522%2522.%2524_SERVER%255B'PHP_SELF'%255D.%2522?pagecount=%2524prev%255C%2522) "; } } if($page ich hab mittlerweile so viele sachen probiert statt file\_get\_contens, hab ich mit fopen rumgespielt und auch bei mysql einiges ausprobiert naja alles was ichso beim googlen gefunden habe aber nun weiss ich echt nicht weiter. wäre schön wenn mir einer von euch helfen könnte. achja bitte nicht lachen denn ich setze mich grade mal seit 5 tagen mit php auseinander das aber auch ca 16 stunden am tag allerdings muss ich wohl zu schräg denken das ich es nicht gebacken bekomme. jemand ne idee????