Positionsnummer erstellen
Andreas
- php
0 lulu
Hallo,
Es ist für mich jetzt zu komplex, so dass ich hoffe, dass ich es richtig rüber bringe.
Ich in der Tabelle max. 6 Menünamen menü1, menü2, menü3, menü4, menü5, menü6
Jetzt kann es sein das nur 3 Aktiv sind die dann ausgegeben werden sollen. menü1, menü3, menü6
Von der Ausgabe kein Problem. Ich lasse die Menüs nebeneinander rechts ausgerichtet ausgeben, der Rest vorne dran wird mit einem leer Feld aufgefüllt.
<td> angepasster Leerraum </td><td>menü1</td><td>menü2</td><td>menü3</td>
menü1 ist jetzt von der ersten Position auf die 4 gerutscht, dann folgen die weiteren.
Wie kann ich hier so eine Art Positionsnummern vergeben
Beispiel wie ich mir das vorstelle:
menü1 = pos1, menü2 = pos2, menü3 = pos3, menü4 = pos4, menü5 = pos5, menü6 = pos6
bei nur 3 Menüs gibt es auch nur die letzten 3 Positionen
Beispiel wie ich mir das vorstelle:
menü2 = pos4, menü4 = pos5, menü6 = pos6
wie geht das, wenn mich einer verstanden hat
Danke
Andreas
Huhu Andreas
mmmh ich versuch es mal
also ich vermute Du möchtest die Menuepunkte mit Hilfe der Positionsangabe irgendwie positionieren.
Eine Möglichkeit wäre es z.B. die Menuepunkte rückwärts durchzugehen und bei aktiven Menuepunkten einen Index weiterzuzählen.
Anhand des Indexes dann die Position auslesen.
Ungefähr so:
$menues=array();
$menues[]=array('label'=> 'Apfelbaum', 'aktiv'=> true);
$menues[]=array('label'=> 'Birnbaum', 'aktiv'=> true);
$menues[]=array('label'=> 'Feigenlbaum', 'aktiv'=> false);
$menues[]=array('label'=> 'Bierbaum', 'aktiv'=> true);
$menues[]=array('label'=> 'Bratwurstbaum', 'aktiv'=> false);
$menues[]=array('label'=> 'Ohtannebaum', 'aktiv'=> true);
$stack=array();
$position=array(777,555,444,310,200,100,40);
$pos=0;
for($i=(count($menues)-1);$i>0;$i--){
$one=$menues[$i];
if(!$one['aktiv']) continue;
// Hier Menuepunkt erzeugen
$stack[]=sprintf('<td>%s steht an Position %s</td>',$one['label'],$position[$pos]);
$pos++;
}
$rev_stack=array_reverse($stack);
echo '<table><tr>'.join('',$rev_stack).'</tr></table>';
Ist ungetestet, sollte aber nach Korrektur aller syntaktischer und logischer Fehler funktionieren ;-)
Viele Grüße
lulu