WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » csv datei nach doppelten einträgen in einer spalte durchsuchen » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von chrisnolde
so jetzt weis ich das es an der gleichen bedingung der while schleifen liegt.
wie schaffe ich es das er die getrennt behandelt?
ich komm jetzt wirklich nicht mehr selber weiter.
von chrisnolde
ich bin jetzt so weit das er den ersten wert mit allen anderen vergleicht. so weit so gut.
aber wenn er den ersten abgearbeitet hat hört er auf und macht nicht mit dem nächsten weiter.

bitte bitte helft mir
von chrisnolde
hab da jetzt mal ein bisschen rumgespielt. irgendwie vertragen sich die zwei while schleifen nicht. oder vielleicht kann er auch nicht zweimal die datei gleichzeitig öffnen und durchsuchen.
von chrisnolde
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35:
<?php
$quelldatei="c:/Nolde/wer_fall.csv";
//CSV-Datei laden
$datei = fopen($quelldatei,"r");
if ($datei) {
    	$dateigroesse=filesize($quelldatei);
      	while(($zeile=fgetcsv ($datei, $dateigroesse, ";"))!=false) {
         	$patnr=$zeile[16];
                 while(($verglzeile=fgetcsv ($datei, $dateigroesse, ";"))!=false) {
                 	if($verglzeile[16]==$patnr) {
                         	$neudatei="c:/Nolde/wer_auswertung.csv";
                                 $dateineu=fopen($neudatei,"a");
                                 $datensatz=$zeile[16];
                                 $datensatz.=";";
                                 $datensatz.=$zeile[1];
                                 $datensatz.=";";
                                 $datensatz.=$zeile[7];
                                 $datensatz.=";";
                                 $datensatz.=";";
                                 $datensatz=$verglzeile[16];
                                 $datensatz.=";";
                                 $datensatz.=$verglzeile[1];
                                 $datensatz.=";";
                                 $datensatz.=$verglzeile[7];
                                 $datensatz.=";";
                                 $datensatz.="\n";
                                 $output = fwrite($dateineu,$datensatz);
        				fclose($dateineu);
                         }
                 }
        	}
fclose($datei);
}
print("fertig");
?>


ich habs mal damit versucht. er bringt auch keine fehlermeldung aber schreibt auch nichts in die neue datei. also kann das so nicht funktionieren.
von chrisnolde
ich brauch mal wieder eure hilfe. ich hab mehrere ziemlich große csv dateien die ich nach doppelten einträgen in einer spalte durchsuchen muss. ich hab keine ahnung wie ich das mach. bei ner datenbank könnt ich es aber es wär umständlich zuerst alle csv dateien in eine datenbank zu importieren.
ich stell mir das so vor dass er eine zeile einliest, und dann von dieser zeile aus den wert zb: $zeile[4] mit dem entsprechenden wert in allen folgenden zeilen vergleicht.
ist er am ende angekommen soll er die nächste zeile einlesen und deren wert $zeile[4] mit den folgenden vergleichen.
gefundene doppelte einträge soll er in eine neue csv datei schreiben.

mein problem ist das ich nicht weis wie ich das schrittweise vorrücken und das vergleichen anstell.
ich hab nur eine lösung in der er wieder die gesamte datei durchsucht, dann aber auch jeden eintrag mit sich selbst vergleicht und auch jeden doppelten eintrag zweimal findet.
ich hoffe ihr versteht mein problem.

Nach oben