PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formatierung einer alphabetische Mneüleiste


tsunamitsunami
15.12.2005, 08:01:31
Hy phpler,
Ich habe eine Mitgliederliste in einer mysql db. Das sind viele, drun
möchte ich filtern. Rausgekommen ist eine Seite. Beim klick auf den buchstaben, wird dieser als id übnergeben ud mit like gefiltert. Das tut. Nun möchte ich das
ganze verschönern. Rauskommen soll in etwa sowas:

=========================
Anzeige aller Mg:

<b>Alle</b>|a|b|c|d|e ...

Aller aller Mitglieder dessen Name mit "A" anfängt

Alle|<b>a</b>|b|c|d|e ...

Aller aller Mitglieder dessen Name mit "B" anfängt

Alle|a|<b>b</b>|c|d|e ...

usw.

======================

Code:

<?

for($start=96;$start<123;$start++)

{

if ($start=='96')

{

$letter='alle';

echo '<td><a

href="./teil_kundenanzeigen.php?id='.$letter.'"><b>'.$letter.'</b>

</a></td>';

}

else if ($start >'96')

{

$letter = chr($start);

if ($id==$letter)

{

echo '<td><a

href="./teil_kundenanzeigen.php?id='.$letter.'"><b>'.$letter.'</b></a></td>'
;

}

else

echo '<td><a

href="./teil_kundenanzeigen.php?id='.$letter.'">'.$letter.'</a></td>';

}

}

?>



====================

Mein Fehler: Alle bleibt immer fett. a,b,c wechselt, beim klick auf den jeweiligen Buchstaben, nur "Alle" nicht.

Das Problem ist, dass die Bedingung $start == '97' natürlich nur einmal
efüllt ist. Wahrscheinlich steht das if nur falsch, aber ich sehs
nicht.
Das heisst "alle" wird in allen Stellungen fett gedruckt.
Irgendeimne Idee wäre nett. Danke im vorraus für jeden tritt in die
richtige Richtung. ;- )

Gruß

tsunamitsunami

Marilu
15.12.2005, 10:45:12
Schau Dir mal den Quellcode von der angezeigten Seite an. Dort findest Du vielleicht ein <b>, das dafür verantwortlich ist.

tsunamitsunami
15.12.2005, 10:50:49
Hy Marilu,
ich weiss, warum das so ist. Natürlich ist $letter nur einmal =="97", danach gehts aus dem if raus und weiter in der For-schleife. Aber wie kann ich ändern?
Wie ich das Menü generiere weiss ich, das tut ja auch. Aber das "fett wenn" geht nicht.

Marilu
15.12.2005, 11:14:58
Kennst Du die php-Tags hier im Forum? Zeig mal Deinen Quellcode ordentlich an, dann kann man sicher eher die Strukturen erkennen.

tsunamitsunami
15.12.2005, 11:23:36
OK 2. Versuch!

for($start=96;$start<123;$start++)
{
if ($start=='96')
{
$letter='alle';
echo '<td><a href="./teil_kundenanzeigen.php?id='.$letter.'">
<b>'.$letter.'</b></a></td>';
}
else if ($start >'96')
{
$letter = chr($start);
if ($id==$letter)
{
echo '<td><a href="./teil_kundenanzeigen.php?id='.$letter.'">
<b>'.$letter.'</b></a></td>';
}
else echo '<td><a href="./teil_kundenanzeigen.php?id='.$letter.'">'.$letter.'</a></td>';
}
}

Marilu
15.12.2005, 11:41:07
OK 2. Versuch! Einrücken hätte noch ganz gut ausgesehen ...

In dem elseif - Teil (wenn $start > 96) mußt Du 'Alle' nochmal ausgeben, aber ohne <b>.

tsunamitsunami
15.12.2005, 11:50:11
Hy ,
danke. werde es heute oder morgen mal probieren. Habs erstmal etwas zur Seite geschoben. Langsam vershwimmen die Zahlen und ich seh nichts mehr. ;- ) Kein Wald vor lauter Bäumen.
Danke !