Raketenwilli: Mach es (Dir) einfach einfacher!

Beitrag lesen

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.

Dein Code hat viel mit meinen Kastensätzen gemein 😀

Ich hoffe, Du hast also gelernt, dass es aus Entwicklersicht keinen Sinn macht, überlange und tief verschachtelte Ausrücke zusammenzubauen, durch deren Logik man selbst kaum noch oder nicht mehr durchblickt, die einem also „den Kopf weghauen“ und „ein Brett vor diesen nageln“ - so dass man die eigentlichen Fehler (hier z.B. die hineingeratenen Leerzeichen) nicht mehr wahrnimmt.

Und falls Du meinst, ich würde „schimpfen wie ein Rohrspatz“: Überlege mal, was passiert, wenn Du Jahre später diese Codestellen wieder „anfassen“ musst. Dann musst Du das Zeug quasi dekompilieren und ich kann Dir (aus Erfahrung mit meinem eigenem Zeug) sagen, was Du machen wirst: Du wirst das komplett neu schreiben, weil Du der Logik Deines eigenen Codes nicht mehr folgen kannst oder das aus Zeitgründen nicht willst.

Mach es (Dir) einfach einfacher!

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: '▼';
}

Anno 2023 sollten neue Projekte stets in UTF-8 geschrieben werden (und deren Daten darauf beruhen), bei größeren Veränderungen sollten bestehende Projekte auch darauf umgestellt werden. Das betrifft dann auch die Umstellung auf HTML 5 - und, wenn Du schon mal dabei bist: aktuellste Versionen von PHP und Datenbank.

Argumente wie „Das macht zu viel Aufwand“ sind im Hinblick auf den obigen, schwer verschachtelten, komplizierten (ergo notlos hirnaufweichenden) und zeitfressenden Ausdruck, nur Ausreden.