PHP Text ein und ausblenden

furryhamster

Lt. Commander
Registriert
Okt. 2008
Beiträge
1.100
Hi,

folgende Problemstellung: Ich mache eine Datenbankabfrage. Das Ergebnis gebe ich teilweise aus, zeilenweise in einer Tabelle.

Jetzt gibt es aus einer zweiten Tabelle Einträge (zwischen 1- x), die dazu gehören. Diese sollen in einer separaten Tabelle unter dem dazugehörigen ersten Ergebnis aufgelistet werden. Da dies unübersichtlich werden kann, sollen die zweiten Ergebnisse durch klick auf einen knopf (der sich in der zeile des ersten ergebnisses befindet) angezeigt werden.

Ist dies realisierbar? Ich wollte das ganze über zwei for schleifen lösen. weiß jedoch nicht wie ich das mit dem einblenden hinkriege.

habe bereits eine lösung über java script gesehen. diese methode gefällt mir bis jetzt jedoch nicht so gut, da ich tabellen damit nicht schließen kann.
wie mach ich die datenbankabfragen? geht es ohne in der ersten for schleife datenbankabfragen zu machen? am besten wäre nur eine einzige Datenbankabfrage oder eine, die live durch einblendung geschieht
 
also entweder musst du dann live arbeiten, über ajax. was aber auch wieder javascript ist. oder du machst es per CSS. aber auch hier wirst du javascript brauchen.

php ist serverseitig und daher kannst du seiten nich nachträglich verändern. wenn die ausgabe sich ändern soll muss die komplette seite neu geladen werden (sprich vom server geparst werden).

daher... nimm javascript mit ein- / ausblenden und dein problem ist gelöst ;)
 
Serverseitig: Per Klick auf den Knopf wird ein Parameter an das PHP-Script übergeben (z.B. ID des Eintrages von welchem die Tabelle angezeigt werden soll) und wenn du in der for-Schleife bei dieser angelangt bist, renderst du die Tabelle. So wird jedoch die Seite immer aktualisiert, wenn du einen neuen Eintrag anklickst.

Code:
<form method="get" action="<?php $_SERVER['PHP_SELF']; ?>">
<input type="hidden" value="123" name="showdetail" />
<input type="submit" value="Details zeigen" />
</form>

JavaScript:
Gebe den Tabellen im PHP-Script eine id im table-Tag:
Code:
<table id="eintrag123" style="display:none;">

Mittels JavaScript kannst du dann einausblenden:

Code:
document.getElementById('eintrag123').style.display = 'block'; /* einblenden */
document.getElementById('eintrag123').style.display = 'none'; /* ausblenden */
 
Zuletzt bearbeitet:
JavaScript:
Gebe den Tabellen im PHP-Script eine id im table-Tag:
Code:
<table id="eintrag123" style="display:none;">

Mittels JavaScript kannst du dann einausblenden:

Code:
document.getElementById('eintrag123').style.display = 'block'; /* einblenden */
document.getElementById('eintrag123').style.display = 'none'; /* ausblenden */

kann ich das "<table id="eintrag123" style="display:none;">" auch in ein <tr> setzen? kann ich statt eintrag123 auch eintrag$1 schreiben, um es variabel zu setzen?

da ich nur html und php kann und kein css, versteh ich leider gar nicht wie ich das ganze dann wieder einblende.
kann mir wer ein beispiel machen, wie ich es schaffe durch klick auf ein bild, den bereich mit der id xx einzublenden?

EDIT: Hab ein weiteres mal google bemüht. Jetzt habe ich folgendes gemacht:

Code:
d<tr id='formdiv' style='position:absolute; visibility:hidden'>

Das Problem ist, dass ich es nicht wieder eingeblendet kriege. Habe es bereits mit folgendem probiert:

Code:
echo "<a href='#' onclick='javascript:document.getElementById('formdiv').style.display = 'block';'>Edit</a>";

<a href="#" onclick="javascript:document.getElementById('formdiv').style.visibility='visible';">Edit</a>
 
Zuletzt bearbeitet:
Mach's mit .style.display = 'none' (ausblenden) und .style.display = '' (einblenden).
 
Zurück
Oben