Visa ett inlägg
Oläst 2004-08-06, 00:10 #2
Per Per är inte uppkopplad
Supermoderator
 
Reg.datum: Apr 2003
Inlägg: 719
Per Per är inte uppkopplad
Supermoderator
 
Reg.datum: Apr 2003
Inlägg: 719
Gör om tabellstrukturen till:

id,
parent,
en_name,
sv_name

Få in allt i en array genom:

Kod:
$result = mysql_query('SELECT * FROM table');
while ( $row = mysql_fetch_array($result) ) {
  $arr[$row['parent']][] = $row;
}
Nu har du istället en multidimensionell array som är hyfsat lätthanterlig.

Kod:
function recursive_output($array, $parent) {
  for ( $i = 0; $i < count($array[$parent]); $i++ ) {
    echo $array[$parent][$i]['en_name'];
    echo '<br />';
    recursive_output($array, $array[$parent][$i]['id']);
  }
}

recursive_output($arr, 0);
Det blir mer lättöverskådligt och enklare att hantera. Har inte testkört koden eller tagit hänsyn till minneskonsumtion men det borde fungera.
__________________
www.ip2nation.com (ip till land)
Per är inte uppkopplad   Svara med citatSvara med citat