Rick: php: Ternärer Operator gibt immer dasselbe Ergebnis aus

Beitrag lesen

Hallo,

ich habe in einem Tabellekopf eine ternäre Bedingung eingebaut, um diese zu lernen.

echo ("<table class='eingangsRG' width='100%' border='0' cellpadding='4' cellspacing='1'>
<thead>
<tr>
<td class='head" . ($_SESSION[$db_id]['order'] == 'ID' ? ($_SESSION[$db_id]['ascDESC'] == 'asc' ? ' asc' : ' desc') : '') . ">
usw.

Soll bedeuten, dass in dieser Spalte, falls sie sortiert wurde (dann liegt eine Sessionvariable mit Inhalt Spaltenname vor) eine Klasse asc oder desc angehängt wird, je nachdem, ob asc oder desc Inhalt einer weiteren Sessionvariablen ist.

Das Sortieren funktioniert auch, aber ich erhalten dennoch immer die Klasse 'desc' angehängt.

Was habe ich im ternären Ausdruck falsch gemacht?

Ich weiß, dass man th anstelle td nutzt, sowie html-code nicht in php notieren sollte. Daher meine Bitte, das jetzt mal außen vor zu lassen. Für alle anderen Korrekturen oder Verbesserungsvorschläge bin ich aber offen.

Zusatzfrage:

Wie muss mein css lauten, um ein kleines weißes Dreieck in die sortierte Spalte einizufügen? Hier nur mal einer von unzähligen Versuchen, wie es bei mir nicht geklappt hat.

/* Pseudo-Elemente für die aufsteigende/descendig Dreiecke */
.mytable thead .asc:after {
  content: '▲';
}
.mytable thead .desc:after {
  content: '▼';
}

Rick