dedlfix: Rekursion, Zähler und mehrdimensionale Arrays

Beitrag lesen

echo $begrüßung;

Aaaalso:

Hmmm. Ich hatte doch der Einfachkeit halber die Logik mit dem Nachfolgen umgedreht. (-:

//Listen holen

$behandlungen_nachf_query = mysql_query("SELECT b.behandlung_id, b.folgebehandlung_zu
  FROM blabla WHERE blabla...");
echo mysql_error();
     // Array bauen
while($row = mysql_fetch_array($behandlungen_nachf_query)){
        $behandlungen[$row[behandlung_id]] = $row[folgebehandlung_zu];
}

  
Also müssen die Behandlungen erstmal korrigiert werden.  
  
~~~php
// Logik umdrehen  
$falschrum = $behandlungen;  
foreach ($behandlungen as $id => $unwichtig)  
  $behandlungen[$id] = 0; // IDs erhalten und mit 0 (= keine folgebehandlung) initialisieren  
foreach ($falschrum as $nachfolger => $id)  
  if ($id != 0)  
    $behandlungen[$id] = $nachfolger;

[code lang=php]
  function countBehandlungen($behandlungen, $id, $count = 0) { // ist nur "braingetestet"
                             ^

hier ein & einschieben und das nachfolgende global $behandlungen; weglassen

global $behandlungen;

if ($behandlungen[$id]) // Nachfolger vorhanden?
    return countBehandlungen($behandlungen[$id], ++$count); // Abstieg und zählen
                             ^

hier muss auch noch einmal $behandlungen, eingefügt werden, also:
    return countBehandlungen($behandlungen, $behandlungen[$id], ++$count); // Abstieg und zählen

Und dann sollte es gehen. Jedenfalls ging es mit meinem Test-Datenbestand.

echo "$verabschiedung $name";