Tabellen aufklappen via PHP

mardusi

Mitglied
Hallo,

bin gerade an der Überlegung ob man Tabellen aufklappen allein durch PHP realisieren kann.

Habe schon viele Anwendungen gesehn wo dieses mit Ajax/JS realisiert wird.

Nun meine Frage an euch meint ihr man könnte das auch reni mit PHP durchführen.

Wäre natürlich nice wenn jemand nen Example erstellen könnte.

MfG und Dank
 
Du musst allerdings bedenken, dass die Seite dann immer neu geladen werden muss. Das ganze kannst du durch einen Link oder so lösen dem du dann die ID der Tabelle mitgibst oder so
 
PHP wird serverseitig evaluiert, Javascript clientseitig. Der Unterschied ist, dass mit JS clientseitig auf dem (HTML)Objektbaum operiert werden kann, wohingegen nach dem Senden des Responses der Server keinen direkten Zugriff mehr auf diesen, und somit auch nicht auf das DOM hat.

Wenn du dynamisch Teile einblenden lassen möchtest, musst du im Falle von PHP über einen weiteren Request gehen, der via Request-Parameter angibt, dass ein bestimmter Teil eingeblendet werden soll:
PHP:
if (isset($_REQUEST['showmore'])) {
    showMore();
}

Während es im Einsatz von Javascript sinnvoll ist, die entsprechenden Daten immer mitzugeben, und lediglich beim Laden des Dokuments die entsprechenden Teile auszublenden, und per Event wieder einzublenden. Hierzu empfiehlt sich übrigens der Einfachheit ein modernes JS-Framework wie jQuery oder Mootools. Ein kleines Beispiel für jQuery:
HTML:
<script type="text/javascript"><!--
$("table#mytable tbody").hide();

var eventActivator = $("<a />");
eventActivator
	.text("klick mich")
	.click(function() {
		$("table#mytable tbody").toggleSlide("fast");
	});

$("table#mytable").after(eventActivator);
// -->
</script>

<table id="mytable">
	<thead>
		<tr>
			<th>Spalte 1</th>
			<ht>Spalte 2</th>
		</tr>
	</thead>

	<tbody>
		<tr>
			<td>1.1</td>
			<td>1.2</td>
		</tr>
		<tr>
			<td>2.1</td>
			<td>2.2</td>
		</tr>
	</tbody>
</table>

Die Strategie nennt sich übrigens unobtrusive Javascript - Wenn es nicht genutzt wird, beeinflusst es dennoch nicht die Nutzbarkeit. Letztere sollte immer im Vordergrund stehen. Ist das Ausklappen wirklich notwendig, oder nur ein nettes Feature um beispielsweise die Nutzbarkeit anderer Komponenten zu verbessern?
 
Gibt es andere Methoden wo man das nicht machen muss ?

Evtl. JS/Ajax mit PHP vereint ? Beispiele wären hilfreich
 
Timmae hat schon recht, es ist immer besser von der server Seite alles liefern zu lassen und erst dann die Dinge auszublenden. Dadurch hast du keine Probleme damit wenn Personen kein Javascript aktiviert haben. Deswegen würde ich es per Javascript lösen, dafür brauchst du auch kein AJAX oder PHP
 
Zurück