Tab.-Ausgabe ausgerichtet nach der längsten nichtleeren Zeile

tefnut

Mitglied
Hallöchen,

ich möchte nur die nichtleeren Zelleninhalte eines arrays in Tabellenform ausgeben, wobei sich die Tab.-breite nach der längsten nichtleeren Zeile richten soll. Mein Code klappt nur mit einer festen Angabe $x = "30", was doof aussieht ( wenn die längste nichtleere Zeile z.B. nur 10 Inhalte hat) und auch sonst keinen Sinn macht :(
Wie bekomme ich das mit variabler Angabe hin? :confused:

hier der Codeschnipsel:

....
echo "<table border="2">";
...
for....{
...
//$user ist das array
$anzahl = 0;
echo "<tr>";
echo "<td><input type='submit' name='auswahl1' value='$bereich'></td>";

while (list ($key, $val) = each ($user))
{ foreach($user as $key => $val)
{ if (!empty($val)) //Anzahl der nichtleeren Zellen pro Zeile ermitteln
{ $anzahl++;
echo "<td>".$val."</td>";
}
}
} //While-Ende

if (($anzahl)>=0)
{ $x = "30";
for($j=0;$j<($x-($anzahl));$j++)
{ echo '<td>&nbsp;</td>'; }
}
echo "</tr>";
} //for-Ende
</table>
...


Ich könnte $x = $anzahl; setzen - und dann?

Auf eure Hilfe hofft
Karin
 
Ich werde aus Deinem Vorhaben nicht so recht schlau. Normalerweise passt sich doch die Breite einer Tabellenspalte automatisch den darin enthaltenen Werten an.

snuu
 
snuu hat gesagt.:
Ich werde aus Deinem Vorhaben nicht so recht schlau. Normalerweise passt sich doch die Breite einer Tabellenspalte automatisch den darin enthaltenen Werten an.

'tschuldigung - habe ich vergessen :-(
ich habe da so eine irre Konstruktion :rolleyes: , in der bereits alle leeren Zellen herausgeworfen wurden (mußte so sein, ging nicht anders) aber nun in der Darstellung sollen die Zeilen optisch wieder mit leeren Zellen aufgefüllt werden und zwar nur bis zur Länge des längsten nichtleeren Zeile ...
pzuh, schwer zu beschreiben ... hoffe, das kommt rüber?

Grüße
Karin
 
Du musst einfach errechnen, wieviele Zellen die Spalte mit den meissten Zellen hat, anschließend errechnest du für jede Zeile die Anzahl der einzusetzenden Zellen.

Hoffe ich konnte dich damit weiterbringen...
 
'tschuldige, dass ich mich jetzt erst melde - war außer Haus ...
danke, dass du versuchst, mir zu helfen!

Original geschrieben von Lars Michelsen
Du musst einfach errechnen, wieviele Zellen die Spalte mit den meissten Zellen hat, anschließend errechnest du für jede Zeile die Anzahl der einzusetzenden Zellen.

Hoffe ich konnte dich damit weiterbringen...

leider nicht so richtig :(
das mit der Spalte verstehe ich nicht ... und mit dem "einfach errechnen" tue ich mich verdammt schwer ...

ich habe in $anzahl die Zahl der Zelleneinträge in der Zeile mit den meisten Zelleneinträgen ermittelt (denke ich zumindest) und möchte nur bis dahin die Tabelle mit Gitternetzlinien füllen;
momentan habe ich mal $x=30 gesetzt, aber dieses $x möchte ich variable entsprechend $anzahl haben ...
ich kann doch nicht folgendes machen (ist doch Null): $anzahl-$x ?
und wie/wo kommt die Spalte ins Spiel?

bin komplett begriffsstutzig

Gruß
Karin
 
Zurück