Hopsel: mysql-db auslesen mit while und alle Werte in einer var speichen

Beitrag lesen

Hi DerWaldgeist!

ich habe folgendes Problem: Ich möchte aus einer Datenbank per Suchfunktion bestimmte Werte auslesen (mit while weiterverarbeiten) und das Ergebnis der Suche in einer temp-Datei speichern.

Warum? Du kannst auch temporäre Tabellen in MySQL nutzen.

Ich hoffe es kann mir da irgendjemand helfen -- irgendwie scheint es so als ob beim "fwrite" alle Werte bis auf den letzten überschrieben sind, so dass nur der letzte Name der Liste eingetragen wird ... verstehe aber nicht warum [...]

Du öffnest die Datei in der Schleife immer wieder mit 'w'. Beachte dazu den Eintrag aus dem Manual:
"Öffnet die Datei nur zum Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert wird versucht sie anzulegen."

Das bedeutet, du überschreibst die Datei jedesmal wieder. Entweder, du nutzt also 'a', oder du speicherst die Zwischenwerte in der Schleife und arbeitest danach mit ihnen weiter.

Ich würde es so machen:

while($sdata = mysql_fetch_object($suche)) {  
  /*..*/  
  
  /**** Array der Namen ****/  
  $namen[] = $ganznamen;  
  /*...*/  
}

So hast du am Ende alle Namen in einem Array und kannst damit machen, was immer du vorhast, z. B. zu einem kommasepariertem String implodieren und in einer Datei abspeichern.

MfG H☼psel

--
"It's amazing I won. I was running against peace, prosperity, and incumbency."
George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)