Knud Schröder: Problem mit Gültigkeit von Variablen

Beitrag lesen

Hallo,

ich verwende zum ersten Mal Funktionen in PHP (Hab ich bisher ehrlich nicht wirklich gebraucht *schäm*).

Dabei handelt es sich auch noch ausgerechnet um eine Rekursive Funktion, mit denen stehe ich schon seit der Schulzeit auf Kriegsfuß.

Ich möchte dass eine Variable überall sichtbar und veränderbar ist und diese Veränderung natürlich auch überall sichtbar ist.

Ich dachte, dass ich das damit erledige, indem ich die Variable mit global definiere. Aber leider gefehlt.

Hier ist einmal die Funktion:

global $alle_kst;

function Hole_KSTs($parentID) {
  global $dbname,$verbindung;

$abfrage = "SELECT personalnummer,kst FROM telefon WHERE locate('$parentID',verantwortlich) > 0 AND sichtbar <> 'N'";

$result = mysql_db_query($dbname,$abfrage,$verbindung);
  if (mysql_num_rows($result) > 0){
   while($thread[$parentID] = mysql_fetch_array($result)){
    $pieces = explode (",", $thread[$parentID]["personalnummer"]);
    $size=count($pieces);
    for ($i=0; $i < $size; $i++) {
     $pos = strpos($alle_kst, $thread[$parentID]["kst"]);
     if ($pos < 0) {
      $alle_kst += $thread[$parentID]["kst"].",";
     }
     Hole_KSTs($pieces[$i]);
    }
   }
  }
 }

Und der Aufruf:

$alle_kst = "";
  Hole_KSTs($personalnummer);

Ich hab's auch schon mit return $alle_kst und beim Aufruf $alle_kst = Hole_KSTs ... probiert. Auch ohne Erfolg.

Bestimmt hat doch einer von Euch eine Tipp für mich?

Gruß,

Knud

P.S.: Die Funktion selber funktioniert soweit, wenn ich die Werte ausgeben lasse, ist alles in Ordnung.