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ß