Sorgenkind Mech: wie kann man das kürzen?

Beitrag lesen

hallo  nochmal

ich bin im moment überglücklich und mein hirn qualmt aber ich habe es geschafft

folgende routine hat folgende aufgabe:

es werden länderkürzel und dazugehörige ländernamen aus ner db abgerufen

diese werden nun in eine tabelle gepackt und sortiert ausgegeben, spalte für spalte (von der sortierlogik her)
ich kann ja aber die tabelle nur zeile für zeile ausgeben

dafür hab ich jetz ne lösung, würde aber gerne wissen, ob man das auch kürzer/ einfacher hätte machen können

hier die routine:

<table>
 <tr><?php
  $laender=mysql_query("select kuerzel, deutsch from laender ORDER BY deutsch");
  $i=0;
  while($lande=mysql_fetch_assoc($laender))
  {
   $land[$i]['k']=$lande['kuerzel'];
   $land[$i]['d']=$lande['deutsch'];
   $i++;
  }
  $spalten=6;
  $reihen=bcdiv(count($land),$spalten,1);
  if(bcmul($reihen,1,1)!=bcmul($reihen,1,0))
  {
   $reihen=bcmul($reihen,1,0);
   $vollespalten=bcsub(count($land),bcmul($reihen,$spalten,0),0);
   $reihen++;
  }
  else $vollespalten=$spalten;
  $diff=bcsub($spalten,$reihen,0);
  $abzug=0;
  $z=0;
  $i=0;
  $p=0;
  for($k=0;$k<count($land);$k++)
  {
   if($z==$spalten)
   {
    $z=0;
    $i=0;
    $p++;
    $abzug=0;
   }
   if($i>$vollespalten) $abzug++;
   if($z==0) echo "</tr>\n<tr>";
   $index=bcsub(bcsub(bcadd($p,bcmul($spalten,$i,0),0),bcmul($i,$diff,0),0),$abzug,0);

echo "<td><font size=1>".$land[$index]['k']." - </font></td><td><font size=1>".$land[$index]['d']."</font></td>";

$z++;
   $i++;
  }

?></tr></table>

ich hoffe man kann was mit anfangen ;)

gruß