php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
sql-Abfrage mit onclick verknüpfen


 
PHP-Newbie
28-04-2016, 22:17 
 
Hallo Forum,

ich habe als Neuling das Netz durchstöbert und viele Schlagwörter bekommen und nun die Übersicht verloren. Daher brauche ich mal eure Hilfe.
Ich erstelle ein Musik-Repertoire. Die Daten dazu stehen in einer SQL-Datenbank mit Einträgen zu Thema, Komponist und Titel.

Ich möchte nun folgendes realisieren:
Eine SQL-Abfrage, die die Themen auflistet und bei einem onclick-Ereignis auf eines der Themen dann die entsprechenden "Zusatzdaten" Komponist und Titel des jeweiligen Themas einblendet.

Welche grundsätzliche Vorgehensweise würdet ihr dafür wählen? Zur Zeit realisiere ich es über JS mit Einblenden/Ausblenden über eine "Toggle"-Funktion. Die Daten kommen aber dabei nicht aus der Datenbank. Ich habe von Jquery, Ajax und solchen Dingen gelesen, was aber alles noch böhmische Dörfer für mich sind.
Ich habe auch gelesen, dass es möglich sein soll, quasi die kompletten Daten einmal einzulesen und die entsprechenden Teile dann auszublenden. Wie sehe so was aus?

Danke für eure Hilfe.

Newbie

 
ShopNix
29-04-2016, 12:51 
 
Ich sehe da zunächst das Datenvolumen. Ist es klein genug, um es im Speicher zu halten, ist eine einmalige Abfrage auf jeden Fall performanter, und die Anwendung einfacher umzusetzen.

Ist das Volumen größer, ist AJAX das Mittel der Wahl. Dieses Prinzip kann man mit jQuery umsetzen, muss man aber nicht.

 
PHP-Newbie
01-05-2016, 20:24 
 
Hallo ShopNix,
vielen Dank für deine Antwort. Ich glaube, bei ca. 150 Datensätzen mit jeweils 3 Einträgen reden wir eher über eine kleinere Datenmenge, oder. Von daher denke ich eher an eine einmalige Abfrage. Wie würde man dann den onclick-Befehl mit der abfrage verbinden?
Gruß Newbie

 
ThePHPMinator
02-05-2016, 10:15 
 
Wenn du jQuery benutzt, würde ich eine Klassenverknüpfung benutzen (jQuery(".details").click(function() {}); ) Also wenn auf .details geklickt wird, das dann die ID ausgelesen wird (attr) und eine Ajax (ajax) Abfrage gestartet wird.
Diese Ajax Abfrage ruft eine php Datei auf, welche die Daten aus der Datenabank als JSON oder HTML zurückgibt.
In deinem Fall als HTML, da neue Daten kommen, JSON wäre am besten, um bestehende Container zu ändern.

Bei der Onklick Variante müsstest du eine Funktion aufrufen, welche den Ajax Befehl startet. Und die ID müsste als Parameter übergeben werden, zusätzlich.

In klammern habe ich die jQuery Befehle gesetzt.

 
PHP-Newbie
04-05-2016, 22:52 
 
Hallo ThePHPMinator,
Vielen Dank. Das wäre dann ja doch eine Ajax-Lösung. Gehts auch nur mit einer Abfrage über Select in SQL in Kombination mit onclick? Oder sind es tatsächlich zu viele Daten für den Speicher?
Fragt Newbie

 
ThePHPMinator
06-05-2016, 10:07 
 
Zu viele Daten sind es selten. Man hat ja einige MB Platz. Wie viele das sind, kannst du mithilfe der Phpinfo feststellen.
Und wie viele benutzt werden, mit memory_get_usage.
Und im Ausgabetext auf einige MB zu kommen, dauert auch.

Ich würde dann alternativ kein onklick nehmen, sondern wieder jQuery.
Es gibt dort mit toggle die einfache Möglichkeit Container ein und auszublenden.


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:35 Uhr.