• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

.csv Datei durchsuchen?

ineedmusic

Neues Mitglied
Hallo.
Ich bin noch neu was PHP angeht.
Ich habe ein Formular mit dem man Daten in eine .csv Datei eintragen kann. Der PHP Code sieht so aus:
Code:
if(isset($_POST['ANGABE1']))
{
$fp = fopen($datei, 'r+');
$a = array();  
$a[0]=($i+1);
$a[1]="Am $datum um $uhrzeit";   
$a[2]=$_SESSION['username'];
$a[3]=$_POST['ANGABE1'];
$a[4]=$_POST['ANGABE2'];
$a[5]=$_POST['ANGABE3'];
$a[6]=$_POST['ANGABE4'];
fputcsv($fp,$a,$delim);
fclose($fp);        
}
Ein Eintrag sieht demnach so aus:
1;"Am 30.11.2012 um 21:34";Admin;ANGABE1;ANGABE2;ANGABE3;ANGABE4

Ich möchte jetzt, dass man über ein Eingabefeld mit $_POST/GET 3,4,5 und 6 durchsuchen kann und das die Ergebnisse dann ausgegeben werden. Falls man aber z.B. nach "A" sucht und "A" in mehreren de durchsuchten Felder vorkommt, darf die entsprechende Zeile (mit $a[0] klar zu erkennen) nur einmal ausgegeben werden.
Da das ganze wesentlich komplexer ist als alles was ich bisher mit PHP gemacht habe, wäre es toll wenn mir jemand ein bisschen auf die Sprünge helfen könnte.
Das Problem ist erstmal, dass ich nicht weiß wie man die 4 Werte des Arrays "durchsuchen" kann um sie dann mit dem gesuchten zu vergleichen.
Ich hoffe ihr versteht das Problem. Ich freue mich über jede Hilfe! :)
 
Schon mal auf die Idee gekommen, soetwas mit einer Datenbank zu machen? Würde die Sache enorm vereinfachen.
 
Natürlich. Ich habe allerdings noch nie mit Datenbanken gearbeitet und dachte es wäre so einfacher als sich erstmal in Datenbanken ein zu arbeiten?
 
Einfacher ist das mit Dateien auf keinen Fall und über kurz oder lang wirst du irgendwann mit MySQL in Kontakt kommen. Wenn du keinen Zeitdruck mit dem Script hast, würde ich umstellen.

Ansonsten würde ich die Datei einlesen, Zeile für Zeile durchlaufen, Zeile zerlegen und dann im Array suchen.
 
Ich werde mich mal mit MySQL auseinandersetzten. Zeitdruck habe ich keinen, ist alles nur zur Übung. :)
Okay, danke für die wirklich schnellen Antworten!
 
Zurück
Oben