• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Zeile aus Tabelle für Details anklicken

weinreich

New member
ich bin's wieder ... :D

Ich habe Daten, die ich in einer "normalen" Tabelle über html ausgebe.

Ist es möglich, etwas zu machen, dass der User eine Zeile anklicken kann um weitere Details des
Datensatzes zu bekommen ?

Beim Klick müßte natürlich etwas übergeben werden ...wie Datum und Maschine ..oder so.

Alternative.. .... könnte man automatisch neben jede Zeile bei der Ausgabe einen Buton setzen ??, der
die selbe Funktion erfüllen könnte ?

In Access war das für mich alles kein Problem ... hier sieht die Sache doch irgendwie schwieriger aus.
 
Moin!

Willst Du das wirklich serverseits regeln? Du könntest Doch die Detailinfos mit an den Client schicken und dort ein Tooltip-Script (JS) zum Einsatz bringen...

Ahoi - Pit
 
Moin,

ich denke, dass ich das muss.

die Details zu den Datensätzen sind mitunter 20fach größer als der eigentliche Datensatz.
( das passt in kein Tooltip, obwohl die Idee super ist )

Dass liegt daran, dass ich bei der Standausgabe nur das wirklich wichtige anzeige, mitunter auch Summen der Details. Im Moment mache ich es noch über Menue und mehrere Formulare......

aber anklicken eines Datensatzes, für Details, wäre natürlich viel edler.
 
ich würde das glaube ich auch über JS lösen (es sei denn die Datenmenge wird dann so groß dass die Seitenladezeit nicht mehr vertretbar ist). Wenn du die Daten halbwegs übersichtlich darstellen willst, wäre dieses "Tool-Tip"-Script vielleicht was für dich. Du kannst in diesem Tool-Tip HTML verwenden und hast auch sonst recht viele Einstellungsmöglichkeiten (Position, Anzeigeart, wann/wodurch es Verschwinden soll etc).
http://www.walterzorn.de/
Ansonsten könntest du einen Bereich auf der Seite einrichten, in den dann immer die Details des aktuellen Datensatzes angezeigt werden.

Wenn es wirklich serverseitig laufen soll, kannst du für die Selection wichtigen Daten per Query-String übergeben.
zb.: www.deinserver.de/details.php?id=4&Date=10
in deinem php Script kannst du dann mit $_GET['id'] und $_GET['Date'] drauf zugreifen. und das kann man natürlich "automatisch" machen, wenn du dafür Hilfe brauchst, wäre etwas Code praktisch
 
ZeitGeist schrieb:
Wenn es wirklich serverseitig laufen soll, kannst du für die Selection wichtigen Daten per Query-String übergeben.
zb.: www.deinserver.de/details.php?id=4&Date=10
in deinem php Script kannst du dann mit $_GET['id'] und $_GET['Date'] drauf zugreifen. und das kann man natürlich "automatisch" machen, wenn du dafür Hilfe brauchst, wäre etwas Code praktisch

Genau das brauche ich ....

aber meine zwei Probleme sind folgede :

1.) Kan man überhaupt eine Zeile anklicken die so aufgebaut ist ?
PHP:
while($row=mysql_fetch_array($Daten)){ ?>
      
	<td align="center" ><td style="padding:6px"><?php echo $row["datum"]?></td>
	<td align="center" ><td style="padding:6px"><?php echo $row["maschine"]?></td>
	<td align="right" ><td style="padding:6px"><?php echo $row["fehler"]?></td>
bla, bla bla ...
wenn ja, wie ?

und wenn man diese tatsächlich definiert anklicken kann ... wie lese ich den Inhalt der angeklickten Zeile aus ( für die sql Anweisung, oder neues Formular ), wie z.B. Datum, Maschine ??

Wenn das nicht so geht ...kein Problem ...nur kann ich im Moment noch nicht abschätzen wie aufwendig das wäre, und ob es überhaupt geht.

Alternativ würde mir auch ein Button neben jeder Zeile reichen .... nur wie ?

Gruß
 
PHP:
while($row=mysql_fetch_array($Daten)){ ?>
    <tr onclick="location.href='details.php?maschine=<?php echo $row["maschine"]?>&datum=<?php echo $row["datum"]?>'">
    <td align="center" ><td style="padding:6px"><?php echo $row["datum"]?></td>
    <td align="center" ><td style="padding:6px"><?php echo $row["maschine"]?></td>
    <td align="right" ><td style="padding:6px"><?php echo $row["fehler"]?></td> 

</tr>

dafür brauchst du dann allerdings Javascript. Ansonsten könntest du einfach einen Link ans Ende der zeile setzen

PHP:
echo '<a href="details.php?maschine='.$row['maschine'].'&datum='.$row['datum'].'">Details</a>';
 
ZeitGeist dafür brauchst du dann allerdings Javascript. Ansonsten könntest du einfach einen Link ans Ende der zeile setzen [php schrieb:
echo '<a href="details.php?maschine='.$row['maschine'].'&datum='.$row['datum'].'">Details</a>';
[/php]

Super, das reicht mir und funktioniert wunderbar. !! Besten Dank.
Langsam verstehe ich auch die Zusamenhänge bei PHP besser .....

Also, wenn mein Projekt mal fertig ist ...und ich rufe "JSWELT raus ...wird es zusammenbrechen wie
ein Kartenhaus .... aber vorher zeige ich es Euch allen auf dem Treffen 2006 ... :D
 
Moin!

Da könnte man jetzt (falls Deine Gesamt-Geschichte - wie ich vermute - JS sowieso benötigt) noch eine Tooltip-Geschichte draufsetzen, so daß die Tabelle sichtbar bleibt und nur die Details frisch vom Server geholt werden. Wie sieht es denn mit der JS-Abhängigkeit aus?

Ahoi - Pit
 
pit-r schrieb:
Moin!

Da könnte man jetzt (falls Deine Gesamt-Geschichte - wie ich vermute - JS sowieso benötigt) noch eine Tooltip-Geschichte draufsetzen, so daß die Tabelle sichtbar bleibt und nur die Details frisch vom Server geholt werden. Wie sieht es denn mit der JS-Abhängigkeit aus?

Ahoi - Pit

Ich komm gerne nochmal darauf zurück ... im Moment geht's mit dem einfachen Link ... und ich habe noch ein paar andere Ecken an denen ich erstmal wurschteln muss. Aber Danke für's Angebot.
 
Guten Morgen zusammen,

ich würd jetzt doch gerne nochmal auf die Tooltip Geschichte zurückkommen, da mir der horizontale Platz für die Details bei Weitem nicht ausreicht.

Im Moment gebe ich die Daten ganz einfach aus ..

while($row=mysql_fetch_array($Daten)){ ?>

<td align="center" ><td style="padding:6px"><?php echo $row["datum"]?></td>
<td align="center" ><td style="padding:6px"><?php echo $row["maschine"]?></td>
<td align="right" ><td style="padding:6px"><?php echo $row["fehler"]?></td>
bla, bla bla ...

am Ende der Zeile einen Link für die Details ....( s.o. )

Wie mach ich das mit dem Tooltip "walterzorn" am sinnvollsten ?

die Daten schon haben und auf mouseover anzeigen ?
die Daten bei mouseover erst über mysql holen ?
wie füge ich mouseover in die Ausgabe der Daten ein ? ( Syntax ? )

Danke Euch.
 
Moin!

In Beitrag #3 hattest Du zum Besten gegeben, daß Dir die Datenmenge zu groß ist, um gleich alles an den Client zu schicken. Wenn dem nach wie vor so ist, böte sich ein Script an, das die Detail-Daten vom Server holt und in einen dynamisch positionierten iframe lädt. Wenn Du magst bastle ich mal ein Beispiel in der Art...

Ahoi - Pit
 
pit-r schrieb:
Moin!

In Beitrag #3 hattest Du zum Besten gegeben, daß Dir die Datenmenge zu groß ist, um gleich alles an den Client zu schicken. Wenn dem nach wie vor so ist, böte sich ein Script an, das die Detail-Daten vom Server holt und in einen dynamisch positionierten iframe lädt. Wenn Du magst bastle ich mal ein Beispiel in der Art...

Ahoi - Pit

ob ich mag ??
Ich weiß gar nicht wie ich das wieder gut machen soll.

Im Moment habe ich eine Zeile Daten .... am Ende der Zeile einen Link für Details ....
aber die Zeile reicht mir platzmäßig nicht .... jetzt brauche ich also Details von den Details .... ( nur um mir nicht aus dem #3 Beitrag zu widersprechen)

Es fehlen im Prinzip noch vier oder fünf zusätzliche Spalten .... und ein Scrollen möchte ich den User nicht zumuten.Da wäre es super wenn er den Rest über das Tooltip bekommen würde.

ich muss ja nur irgendwie die Parameter übergeben um auch die richtigen zusätzlichen Details zu bekommen ... Hoffenlich versteht mich noch einer ... :D ich kann hier nicht soviel Quellttext oder Bilder veröffentlichen ... da kriege ich Ärger,alles firmenintern,ich hoffe ihr versteht das.
 
sowie sich das anhört geht es nicht um die Datenmenge (im Sinne von Bits und Bytes die geladen werden müssen) sondern nur um den nicht ausreichenden Platz um es darzustellen, richtig?

Ich würde die gleich mit laden und dann im tooltip darstellen.
zb..
PHP:
<a href="#" onclick="return escape('<?php echo $details[0].'<br>'.$details[1].'<br>'.$details[2];?>');">
  Details
</a>

Du kannst dir natürlich auch überlegen ob das dann gleich beim mouseover über der entstprechenden Zeile kommen soll oder erst bei einem klick oder wie auch immer.
 
ZeitGeist schrieb:
sowie sich das anhört geht es nicht um die Datenmenge (im Sinne von Bits und Bytes die geladen werden müssen) sondern nur um den nicht ausreichenden Platz um es darzustellen, richtig?

Du kannst dir natürlich auch überlegen ob das dann gleich beim mouseover über der entstprechenden Zeile kommen soll oder erst bei einem klick oder wie auch immer.

Ja, in erster Linie geht's um Platz.
Sorry, wenn ich mich an der einen oder anderen Stelle falsch ausgedrückt habe.

Also, Dein Beispiel kommt der Lösung schon sehr Nahe, allerdings möchte ich keinen Link sondern einen mouseover bei den einzelnen Tabellenspalten. Geht das ?

Und, ist es richtig, dass das
PHP:
<script language="JavaScript" type="text/javascript"
src="js/wz_tooltip.js"></script>
am besten direkt vor [/body] kommt ?

Hab gerade mal Dein Beispiel probiert....mmmhh..kommt irgendwie kein Tooltip.
 
Hi!
Walter Zorn schrieb:
Folgende Zeilen innerhalb des <body>-Bereichs der HTML-Datei einfügen, und zwar nach dem letzten HTML-Tag, das ein Tooltip enthält, am besten unmittelbar vor dem schließenden </body>-Tag:
<script language="JavaScript" type="text/javascript" src="wz_tooltip.js"></script>
weinreich schrieb:
Also, Dein Beispiel kommt der Lösung schon sehr Nahe, allerdings möchte ich keinen Link sondern einen mouseover bei den einzelnen Tabellenspalten. Geht das ?
Geht es nicht jeweils um die Tabellenzeilen?

Ahoi - Pit
 
jetzt bin ich leicht verwirrt ...

hier mal ein Bild ... DAS sind schon die Details zu drei Datensätzen .... aber der Platz reicht in der Breite nicht .... wenn es ginge ?? müßte jetzt ein Tooltip kommen wenn ich mit der Maus über die einzelnen Felder gehe .... das wäre die Krönung ...
Ich könnte die Zahlen weiter aufschlüsseln ....die Daten dazu habe ich ... bzw.hole sie mir dann über sql wenn ich weiß wie ich die Parameter der entsprechenden Datensätze übergeben kann ...
 

Anhänge

  • daten.jpg
    daten.jpg
    52 KB · Aufrufe: 3
Hi!

Beim Umfrickeln des Ganzen auf DB-Geschichten werden Dir sicher Leute helfen können, die davon x-Mal mehr Peilung haben als ich. Wenn Du magst, kann ich Dir aber gerne erläutern, was mein Ding auf Array-Basis da treibt - vielleicht bekommst Du es dann selber hin...

Egal wie - viel Erfolg! :D

Ahoi - Pit
 
Zurück
Oben