maffy Geschrieben 7. Dezember 2008 Geschrieben 7. Dezember 2008 (bearbeitet) Ich habe ein Array mit Buchungstext aus einer StarMoney CSV Datei und ein Array mit neuen Buchungstexten und Werten. Diese Funktion liest alle Buchungen zu einem Konto aus der CSV Datei ein und gibt diese in einer Tabelle aus. Jetzt möchte ich diese Daten mit meinen neuen Daten (über die Kontonummer) vergleichen und bei einem Treffer die orginalen Daten aus Array1 mit meinen angelegten Daten aus Array2 austauschen. function readkontobuchungen($file_dir,$daten_file,$konto){ print "<h2>Buchungen des Kontos anzeigen:</h2> "; print "<p> <a href=\"index.php\">CSV Datei auswählen</a> - <a href=\"index.php?do=content&file&file=".$daten_file."\">Buchungen anzeigen</a> </p> "; selectkonten($file_dir,$daten_file); // Selectbox für Konten print "<p><b>Datei:</b> $daten_file - <b>Konto:</b> ".$konto."</p>"; $handle = fopen(''.$file_dir.''.$daten_file.'','r') or die ('Kann die Datei nicht öffnen'); while ( ($data = fgetcsv ($handle, 1024, ";")) !== FALSE ) { // Einträge Zählen und erste Zeile nicht ausgeben $row++; if ($row == 1) { continue; } // #[0] => Betrag; $Betrag = $data[0]; // Betrag - > Komma in Punkt umwandeln für das Rechnen $data[0] = str_replace(",",".","$data[0]"); #[1] => Buchungstext $Buchungstext = $data[1]; #[3] => Buchungstag $Buchungstag = $data[3]; #[4] => Begünstigter/Absender - Bankleitzahl $Bankleitzahl = $data[4]; #[5] => Begünstigter/Absender - Kontonummer if($data[5] == ""){ $kontonummer ="Konto unbekannt"; } else { $kontonummer = $data[5]; } #[6] => Begünstigter/Absender - Name if($data[6] == ""){ $Absender ="Absender unbekannt"; } else { $Absender = $data[6]; } // Verwendungszweck $vwz ="".$data[26]."".$data[27]."".$data[28]." ".$data[29]."".$data[30]."".$data[31]."<br> ".$data[32]."".$data[33]." ".$data[34]."".$data[35]."".$data[36]."".$data[37]." ".$data[38]."".$data[39]." "; // Nur Buchungen des gleichen Kontos anzeigen if($konto == $data[5]){ // Buchungsdaten in ein Array schreiben wenn diese gleich sind $konto_daten[] ="<tr> <td>$Buchungstag</td> <td>$Absender</td> <td>$kontonummer</td> <td>$Betrag</td></tr>"; // Beträge in ein Array schreiben $summe[] = $data[0]; } } print"<table border='1' class=\"buchungen\" width='95%' cellspacing='2' cellpadding='2'>"; print "<thead>"; print "<tr>"; print "<th>Datum</th>"; print "<th>Buchung</th>"; print "<th>Konto</th>"; print "<th>Betrag</th>"; print "</tr>"; print "</thead>"; // Daten ausgeben foreach($konto_daten as $data){ print "$data"; } print"</table>"; $sum.= array_sum($summe); $saldo = number_format($sum, 2, ',', ''); print"<table border='1' width='95%'>"; print"<td colspann=\"3\" width='80%'> </td>"; print"<td style=\"background:#efefef;\" width='35%'><b>Summe: " . $saldo . " €</b></td>"; print "</tr>"; print"</table>"; fclose($handle); } Mfg Maffy Bearbeitet 7. Dezember 2008 von maffy
maffy Geschrieben 7. Dezember 2008 Autor Geschrieben 7. Dezember 2008 Es ist etwas umständlich für jedes Konto diese Daten per Hand anzulegen und dann so abzufragen. Ich habe das ersetzen der Daten jetzt so gemacht. if ($data[5] == "Kontonummer"){ $newvwz = str_replace (Kontonummer, 'Text zum ersetzen', $konto); $newabsender= str_replace (Kontonummer, 'Text zum ersetzen', $konto); $newkonto = str_replace (Kontonummer, 'Text zum ersetzen', $konto); } [/PHP] Ich möchte eine Datenbank oder ein Arraya abfragen wo diese Daten automatisch ersetzt werden.
flashpixx Geschrieben 7. Dezember 2008 Geschrieben 7. Dezember 2008 Ich lege Dir an Herz diese Befehle einmal zu lesen: PHP: file - Manual PHP: explode - Manual PHP: implode - Manual PHP: array_walk - Manual HTH Phil
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden