Hallo liebe Community.
Ganz einfach beschrieben habe ich folgendes Problem:
Ich habe eine Datenbank. Aus dieser werden mit Hilfe einer MySQL-Abfrage verschiedene ID's (int) ausgelesen.
Zu diesen ID's werden dann Daten rausgesucht und in einer Tabelle angegeben werden.
Jetzt soll man, wenn man auf eine Reihe (<tr>) klickt, weitere Daten zu genau diesem Thema sehen können. Dazu benötige ich eine Weiterleitung via $_GET.
Ich habe per Google nichts gefunden zum Thema PHP.
Und mit JS dürfte das meinen Überlegungen zu Folge auch nicht gehen, da ich ja eine variable Anzahl an ID's habe (es geht schon. Ist aber sau umständlich).
Hat da jemand eine Idee? Oder einen Denkanstoß?
Mit freundlichen Grüßen,
Auran
EDIT: Gefunden habe ich per Google schon etwas. Aber nichts, was auch funktioniert hätte.
Ankündigung
Einklappen
Keine Ankündigung bisher.
[Erledigt] &amp;lt;tr&amp;gt; je nach DB verlinken
Einklappen
Neue Werbung 2019
Einklappen
X
-
[Erledigt] &amp;lt;tr&amp;gt; je nach DB verlinken
Stichworte: -
-
Also warum ich das so escaped habe? Keine Ahnung ^^
In der Konsole steht
Die Zeichenkodierung des HTML-Dokuments wurde nicht deklariert. Das Dokument wird in manchen Browser-Konfigurationen mit verstümmeltem Text dargestellt, wenn das Dokument Zeichen außerhalb des US-ASCII-Bereichs enthält. Die Zeichenkodierung der Seite muss im Dokument oder Transferprotokoll deklariert werden.
EDIT: Ich habe die Zeichencodierung deklariert, aber es ändert sich nicht. Hmm.
-
Schon mal in die Konsole nach Fehler geschaut? (F12)
Und du kannst es etwas einfacher notieren, zuminest ohne Anfürhungszeichen escapen:
PHP-Code:echo '<tr class="forward" data-href="index.php?mail='.$row->mailid.'"><td>';
Einen Kommentar schreiben:
-
Sehr schön. Ich habe das Thema eben wieder geöffnet. In der Zwischenzeit ist einiges passiert: Mir ist Notepad++ abgeschmiert und die Dateien habe ich nicht lokal bearbeitet, sondern temporär aus dem Webspace runtergeladen (das mach ich nicht nochmal ^^). Kurzum: Meine ganze Datei (ein Haufen Arbeit) ist weg. Das war gestern Mittag. Seit dem habe ich mehrere Stunden verstärkt daran gearbeitet und bin fast wieder auf dem Stand, auf dem ich vorher war. Aber es tritt wieder das selbe Problem auf, welches ich über diesem Post gelöst habe. ABER:
Code:<script> $(document).ready(function(){ $('table.showed_mails tr.forward > td:not(".checkboxes")').click(function(){ window.location = $(this).data("href"); return false; }); }); </script>
PHP-Code:echo "<tr class='forward' data-href=\"index.php?mail=".$row->mailid."\"><td>";
Ging mal wieder nach "/undefined", wenn ich draufgeklickt habe.
Gelöst habe ich das durch folgendes:
Code:<script> $(document).ready(function(){ $('table.showed_mails tr.forward > td:not(".checkboxes")').click(function(){ window.location = $(".forward").data("href"); return false; }); }); </script>
Jetzt allerdings folgendes Problem:
Das Script leitet immer nur auf "index.php?mail=3" weiter.
Wenn ich mir den Quelltext anschaue, habe ich folgendes gesehen:
Code:<tr class='forward' data-href="index.php?mail=3">[...]</tr> <tr class='forward' data-href="index.php?mail=5">[...]</tr>
Also muss es, da der HTML-Code vorher genauso funktioniert hat, am Script liegen.
Das einzige Problem dabei: Ich habe keinen Schimmer, warum.
Ich saß mehrere Stunden am Rechner und habe mich in dieses Gebiet JS eingelesen (JS bin ich nicht so gut) und habe aber keine Lösung gefunden.
chorns Doku von der 1. Seite habe ich mir unter anderem auch komplett durchgelesen (http://api.jquery.com/data/#data-html5) Habe aber nichts gefunden, was weiterhelfen würde.
Habt ihr eine Idee?
Ich habe das jetzt wieder hier gepostet, da es doch was mit dem Zeug oben drüber zu tun hat. Wenn ich einen neuen Post eröffnen soll, bitte Bescheid geben.
Habt ihr eine Idee? Ich blick nach Stunden von Arbeit nicht mehr durch^^ Und weiterprogrammieren kann ich auch nicht, da alles aktuell an dem hängt.
LG,
Auran
Einen Kommentar schreiben:
-
Danke. Soeben nach einigem Überlegen den Fehler gefunden. Das Script war korrekt, aber ich habe eben
PHP-Code:<tr class='forward' href='index.php?mail=".$row->mailid."'>
PHP-Code:<tr class='forward' data-href='index.php?mail=".$row->mailid."'>
Danke für die Hilfe.
Einen Kommentar schreiben:
-
@CrocoBlack: Leider selbes Ergebnis
@chorn: Naja. Das Ziel ist ja, dass ich mit einem Klick auf den Kurzeintrag(z.B. ID 3) auf den Langeintrag mit der selben ID (z.B. ID 3) weitergeleitet werde. Also von jQuery.
Und ich bin mir nicht sicher, was du mit "Liegt da noch ein Link drunter" meinst.
Einen Kommentar schreiben:
-
Schon mit
PHP-Code:window.location = $(this).prop('href');
Einen Kommentar schreiben:
-
Wie weitergeleitet? Von wem? Klingt nach einem Problem auf der Zielseite. Liegt da noch ein Link drunter?
Einen Kommentar schreiben:
-
Ich habe jetzt etwas rumprobiert und es tritt ein neues Problem auf. Ich hoffe ich kann es trotzdem hier posten:
Ich habe oben das:
Code:<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script> $(document).ready(function(){ $('table tr.forward').click(function(){ window.location = $(this).data('href'); return false; }); }); </script>
PHP-Code:<tr class='forward' href='/index.php?mail=".$row->mailid."'>
Wenn ich nun auf die Zeile klicke klappt es. (Jippie)
Aber ich werde trotzdessen an eine Adresse [Zensiert]/undefined weitergeleitet statt [Zensiert]/index.php?...
Hat jemand eine Idee?
Einen Kommentar schreiben:
-
Super. Danke. Das ich auf die Idee nicht draufgekommen bin ^^
Ist allerdings auch nicht das Optimum.
Das mut jQuery. Funktioniert das dann mit der ganzen Zeile?
Ist das mit dem hier?
Code:$(document).ready(function(){ $('table tr').click(function(){ window.location = $(this).attr('href'); return false; }); });
Einen Kommentar schreiben:
-
Einfach in jeder Zelle (nicht Zeile) den Text entsprechend verlinken.
Mit jQuery geht's und data-* ginge das aber auch recht fix.
Einen Kommentar schreiben:
-
Danke für die rasche Antwort.
Das wäre dann natürlich die Notlösung.
Ich bräuchte es halt eben für den <tr>-Tag und nicht für den <td> bzw. das, was in dem <td>-Tag drinnen ist.
Einen Kommentar schreiben:
-
hey Auran,
also ich mache es immer so wenn ich eine tabelle aus einer Datenbank anzeige.
Dass ich bei der letzten spalte ein link setze und die id per $_GET mit übertrage.
So z.B. <td><a href="index.php?seite=ansehen&id=<?php echo $dt["id"]; ?>">details</a></td>
falls du so etwas gemeint hast.
mfg
Flava
Einen Kommentar schreiben:
Einen Kommentar schreiben: