Buchstaben verlinken außer aktuellen

florifliegt1

Grünschnabel
Hallo,

ich möchte das alle Buchstaben außer der aktuelle, welcher per letter übergeben wird, anklickbar sind.

Ich habe es so versucht, soweit ist das ja gut:

PHP:
#Info: http://de3.php.net/range
$sortletter = $_GET['letter'];

echo "<a href=?sortby=_>#</a>";
echo " ";
#Wenn nichts angegeben oder Buchstabe A
if ( $_GET['letter'] != "" or $_GET['letter'] = "A") {
$sortletter = $_GET['letter'];
echo "<b>A</b>";
foreach(range('B', 'Z') as $letter) {
    
    echo " ";
    #echo "?letter=";
    #Link einbauen wenn geloest
    echo $letter;
    echo " ";
    }


(also zweite if-abfrage
PHP:
foreach(range('A', '$_GET['letter']') as $letter
wäre ja klar, aber alles anderes finde ich sehr aufwendig und was einfacheres fällt mir nicht ein.)

Gibt es eine einfachere Möglichkeit, das Problem zu lösen?
 
Dein Ansatz ist fast richtig. Du musst aber innerhalb der Schleife unterscheiden ob der Buchstabe dem gewählten Buchstaben entspricht.

PHP:
<?php
//Buchstabe aus Link übernehmen. Wenn dieser nicht gesetzt ist, nimm 'A'
$selectedLetter = (isset($_GET['letter'])) ? $_GET['letter'] : 'A' ;

foreach(range('A', 'Z') AS $letter){
    //prüfen ob der buchstabe mit dem Gewählten übereinstimmt
    if($letter == $selectedLetter){
        //html für den selektionierten Buchstaben 
        $htmlLetter[] = "<b>{$letter}</b>";
    }else{
        //html für die Links
        $htmlLetter[] = "<a href='?letter={$letter}'>{$letter}</a>";
    }
}
//Alle HTMLs mit einem - getrennt ausgeben
echo implode(' - ', $htmlLetter);

?>
 
Zuletzt bearbeitet:
yaslaw hat die Frage ja schon beantwortet, aber noch ein Hinweis, den du später vielleicht mal gebrauchen kannst:

PHP:
<?php
if ( $_GET['letter'] != "" or $_GET['letter'] = "A") {  //ist immer true

}
?>

Die if-Abfrage oben gibt immer true zurück, da die zweite Bedingung keine Bedingung, sondern eine Zuweisung ist. Es fehlt ein =. Meist ist dies nur ein Flüchtigkeitsfehler, kann jedoch zu schwerwiegenden Fehlfunktionen des Codes führen und ist ziemlich ärgerlich, da man es nur sehr schlecht sieht.

Um diesen Flüchtigkeitsfehler zu umgehen, wird von einigen Programmierern empfohlen, bei if-Abfragen immer zuerst die Konstante zu schreiben, und danach den variablen Wert. Der Konstante kann nichts zugewiesen werden, weshalb eine solche Zuweisung eine Fehlermeldung erzeugen würde und sofort bemerkt wird.
Wer sich jedoch, wie zum Beispiel ich, die andere Schreibweise (Variable zuerst) angewöhnt hat, wird sich schwer tun mit dem Umgewöhnen ...
 
Zurück