Link ruft PHP Funktion auf
Gerold
- php
Hallo Community!
Ich habe lange nichts mehr mit PHP programmiert und bin stark Java vorbelastet.
Habe mich nun ein wenig der OOP in PHP gewidmet und ich krieg eine Sache nicht hin:
Ich habe eine Tabelle mit mehreren Zeilen:
Inv.Nr | Titel | Autor |
------------------------
001 aa AA
002 bb BB
Die Bezeichnungen Inv.Nr, Titel etc sind Klassen mit den Variablen sortType und der Funktion changeSortType().
Die Funktion changeSortType wechselt den sortType entweder auf ASC oder DESC.
Ich würde nun gerne diese Klassen als Link darstellen und bei einem Klick darauf die Funktion changeSortType() aufrufen, sodass der sortType geändert und danach die Tabelle entsprechend neu sortiert ausgegeben wird.
Ich hoffe, dass ich mich verständlich ausgedrückt habe und jmd mir bei diesem delikaten Problem weiterhelfen kann (Lösungsvorschläge ohne Java-Script sind bevorzugt :))
MfG Manuel
Hi!
Ich würde nun gerne diese Klassen als Link darstellen und bei einem Klick darauf die Funktion changeSortType() aufrufen, sodass der sortType geändert und danach die Tabelle entsprechend neu sortiert ausgegeben wird.
Klassen als Link darstellen? Klicks rufen Funktionen auf dem Server auf? HTML-Links haben nicht mit OOP-Klassen zu tun. Links rufen auch keine Funktionen auf, sondern veranlassen einen Browser zu Requests. Die Parameter des Requests kannst du mit PHP auswerten und daraufhin eine Klasse aufrufen. Auch eine Java-Anwendung kann da nichts anderes machen. Wenn dir in Java ein Framework komfortablerweise etwas anderes simuliert hat, dann freu dich und fang nun an, die Grundlagen der Webprogrammierung zu erlernen.
Lo!
Hallo dedlfix,
Links rufen auch keine Funktionen auf, sondern veranlassen einen Browser zu Requests. Die Parameter des Requests kannst du mit PHP auswerten und daraufhin eine Klasse aufrufen.
Würde das Sinn machen:
1. Beim Klicken des Links, den Parameter ASC oder DESC übersende
2. Diese Werte dann in der Klasse, z.B. TableSorter, verwende.
3. Dort mit den Werten arbeite und als Ausgabe die Seite erneut mit neu sortierter Tabelle aufrufe?
Oder widerspricht das erneut der Logik der Webprogrammierung?
MfG Manuel
Hallo,
Würde das Sinn machen:
- Beim Klicken des Links, den Parameter ASC oder DESC übersende
- Diese Werte dann in der Klasse, z.B. TableSorter, verwende.
- Dort mit den Werten arbeite und als Ausgabe die Seite erneut mit neu sortierter Tabelle aufrufe?
Würde es denn keinen Sinn machen? Wenn ja, warum nicht?
zwischen 1 und 2 besteht grunzipiell erstmal gar keine Beziehung. Wenn du in der Lage bist, eine Beziehung zwischen 1 und 2 zu erklären, dann weisst du auch, ob deine Darstellung Sinn macht. Dito für 2 und 3.
Ciao, Frank
Hello,
Ich hoffe, dass ich mich verständlich ausgedrückt habe und jmd mir bei diesem delikaten Problem weiterhelfen kann (Lösungsvorschläge ohne Java-Script sind bevorzugt :))
Was daran 'delikat' sein soll, entzieht sich momentan meiner Vorstellungskraft.
Du kannst eine Zustandsbindung benutzen. Mit Hilfe dieser kannst Du dann Requests spezialisieren. Es muss also nicht jedes Mal der gesamte Query-String neu übertragen werden, sondern nur das, was sich ändern soll in der Response.
Die generelle Bindung kannst Du per Cookie erreichen, die speziellere musst Du allerdings in jedem Request mit übermitteln, da der Server sonst nicht wissen kann, in welchem "Fenster" Du dich gerade befindest und welche Darstellung dort gerade aktuell war.
Also
Link- oder Action-Ziel kann dann immer identisch sein, z.B. "index.php"
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Danke, Tom und dedlfix, für eure schnellen Antworten.
Ich war dann wohl mit meinem Denkansatz komplett auf dem Holzweg.
Danke für eure Hinweise dafür, werd das Problem nun wohl anders angehen müssen und mich natürlich noch etwas weiter in der Webprogrammierung fortbilden, damit so ein faux pas nicht erneut passiert.
MfG Manuel