Kingyobachi Geschrieben 27. März 2017 Geschrieben 27. März 2017 Hey, ich versuche gerade eine Verlinkung innerhalb einer SQL Tabelle einzufügen. Ich schaffe es einfach nicht und finde ich Internet auch nicht wirklich weiter. Kann mir jemand helfen? Dankeschön! Die Aufgabenstellung von mir heißt: Diese Seite zeigt alle Bookmarks des gewählten Mitarbeiters. Hierbei genügen die Darstellung des Titels und die ersten 20 Zeichen der URL. Die URL soll direkt per Mausklick geöffnet werden können, ein zweiter Link in jeder Zeile soll auf die Seite „Bookmark bearbeiten“ führen. Außerdem soll die Seite den Namen des Mitarbeiters als Überschrift tragen und einen Link „Neues Bookmark anlegen“. Mein Code: <!DOCTYPE html> <html> <head> <title>Marge Bookmarks</title> <meta charset="UTF-8"> </head> <body> <?php echo " <table width='´800' align='left' cellspacing='2'> <TR> <td ><strong>ID</strong></td> <td ><strong>Bookmark</strong></td> <td ><strong>URL</strong></td> </TR> "; $verbindung = mysql_connect("localhost", "jschubert", "xx") or die ("Fehler im System"); mysql_select_db("mindworks'") or die ("Verbindung zur Datenbank nicht möglich."); $abfrage = "SELECT * FROM `margebookmark"; $ergebnis = mysql_query($abfrage); while ($row = mysql_fetch_object($ergebnis)) { echo " <tr> <td >$row->Nummer</td> <td >$row->Bookmark</td> <td >$row->URL</td> </tr> "; } echo "</table>"; ?> </body> </html> Zitieren
Thanks-and-Goodbye Geschrieben 27. März 2017 Geschrieben 27. März 2017 Ich bin mal fies: es geht bei deiner Frage um eine Aufgabe, die du lösen sollst um einen Ausbildungsplatz zu bekommen. Dann mach mal - denn die Aufgabe soll deinen Wissensstand widerspiegeln. Ausserdem ist die Aufgabenstellung für einen Azubibewerber deutlich zu heftig. Kurz: such dir einen anderen Ausbildungsbetrieb. lilith2k3 und allesweg reagierten darauf 2 Zitieren
Kingyobachi Geschrieben 27. März 2017 Autor Geschrieben 27. März 2017 Wieso ist das fies? Die Aufgaben sollen nicht nur meinen Wissensstand widerspiegeln, sondern auch wie ich selbstständig mit Technologien umgehe und zielorientiert eine Aufgabe löse. Kurz: Ich suche mir keinen anderen Ausbildungsbetrieb. Zitieren
Thanks-and-Goodbye Geschrieben 27. März 2017 Geschrieben 27. März 2017 vor 4 Minuten schrieb Kingyobachi: Kurz: Ich suche mir keinen anderen Ausbildungsbetrieb. Dann such dir auch wen anderen, der dir deine Aufgabe löst. allesweg und lilith2k3 reagierten darauf 2 Zitieren
Klebrig Geschrieben 28. März 2017 Geschrieben 28. März 2017 9 hours ago, Kingyobachi said: Die Aufgaben sollen nicht nur meinen Wissensstand widerspiegeln, sondern auch wie ich selbstständig mit Technologien umgehe und zielorientiert eine Aufgabe löse. Selbstständig mit Technologien umgehen = Forenmitglieder um Hilfe bitten? Sollte es sich wirklich um einen Ausbildungsplatz handeln solltest du dir lieber einen anderen Betrieb suchen. Das klingt ganz stark nach Ausbeutung. Zitieren
pcpeasant Geschrieben 28. März 2017 Geschrieben 28. März 2017 Das sind ganz bestimmt ganz böse Ausbeuter. Würde mich nicht wundern, wenn der Chef ein Holzbein und einer Hakenhand, sowie einen Papagei auf der Schulter hat.Was fällt denen eigentlich ein Eigeninitiative zu verlangen? Wissen die denn nicht, das man nur zur Arbeit geht um auf Facebook zu surfen und alles wie von der Vogelmutter vorgekaut zu bekommen, damit man die zwei Hirnzellen die vom ganzen WoW spielen noch übrig geblieben sind bloß nicht weckt?Ich bin empört!Gesendet von meinem SM-N910F mit Tapatalk RipperFox und MartinGrupinski reagierten darauf 2 Zitieren
Rienne Geschrieben 28. März 2017 Geschrieben 28. März 2017 (bearbeitet) vor 27 Minuten schrieb V1RTU4L: Was fällt denen eigentlich ein Eigeninitiative zu verlangen? Wissen die denn nicht, das man nur zur Arbeit geht um auf Facebook zu surfen und alles wie von der Vogelmutter vorgekaut zu bekommen, damit man die zwei Hirnzellen die vom ganzen WoW spielen noch übrig geblieben sind bloß nicht weckt? Man sollte da aber zwischen Ausbildung und bezahlter Arbeit differenzieren. Die Ausbildung zum Fachinformatiker ist so ausgelegt, dass man diese ohne jegliche Programmier-/IT-Kenntnisse beginnen kann. Dann zu verlangen, dass man direkt mit HTML und SQL umgehen kann, klingt leider Gottes schon nach ziemlicher Ausbeute. Immerhin geht es in den 1 1/2-3 Jahren Ausbildung darum, dass der Auszubildene von dem Betrieb dahingehend ausgebildet wird und nicht, dass dieser ab Woche eins produktiv für ~700€/Monat mitarbeitet und das leistet, was eigentlich auf eine Juniorstelle passt. Ein Betrieb sollte auch dahingehend "testen" beim Bewerbungsverfahren - sprich logisches Denken, Wissenserwerb, lösungsorientiertes Denken, etc pp., und nicht direkt mit Code um sich werfen und sagen "mach mal!". Und wenn so eine Aufgabe doch verlangt wird, dann sollte man sich selber der Recherche bedienen und nicht in einem Forum nach der Lösung fragen. Google zu bedienen ist das A und O als Programmierer. XD Bearbeitet 28. März 2017 von Rienne thereisnospace reagierte darauf 1 Zitieren
JimTheLion Geschrieben 28. März 2017 Geschrieben 28. März 2017 (bearbeitet) Moin, ich gebe dir gleich ein paar Links mit die dir helfen könnten besseren Code zu schreiben. Zur Strukturierung deines Codes https://php-de.github.io/jumpto/eva-prinzip/ Startest du direkt mit HTML und baust dann irgendwann auf der Seite die Verbindung zur Datenbank auf, wenn die Verbindung scheitert wirfst du eine Fehlermeldung und beendest die Verarbeitung. In dem Fall werden dem User aber trotzdem schon die ersten Brocken an HTML dargestellt. Wenn du die Verbindung gleich zum Anfang aufbaust wird in deinem Fall sofort die Meldung "Fehler im System" bzw. "Verbindung zur Datenbank nicht möglich." angezeigt. Das ist immer noch nicht schön, aber schonmal besser als 50:50 aus Content und Fehlermeldung anzuzeigen. Eine andere Variante wäre es die Fehlermeldungen erst einmal abzuspeichern und dann im HTML darzustellen. Anstatt deine Tabelle anzuzeigen steht dann dort die Fehlermeldung, aber der Rest des HTMLs wird auch übertragen. Genauso kannst du das auch mit dem Ergebnis deiner Abfrage machen. Bevor du dich an die Ausgabe der Daten machst, könntest du abfragen ob - die Abfrage erfolgreicht war, oder du z.B. einen Fehler in der Syntax hattest - das Ergebnis der Abfrage Datensätze enthält oder leer ist Bei einem leeren Ergebnis kannst du auch einen Hinweistext "noch keine Bookmarks angelegt" statt einer leeren Tabelle anzeigen. Bei einem Fehler wäre wieder eine Fehlermeldung möglich. Mal als Beispiel wie ich deinen aktuellen Code strukturieren würde (auf die schnelle ohne Garantie auf Korrektheit und ohne die Datenbankverbindung umzustellen, siehe unten): Spoiler <?php $errors = array(); $verbindung = mysql_connect("localhost", "user", "xx"); if (!$verbindung) { $errors[] = "Fehler im System"; } if (!mysql_select_db("db'")) { $errors[] = "Verbindung zur Datenbank nicht möglich."; } $abfrage = "SELECT * FROM `margebookmark"; $ergebnis = mysql_query($abfrage); if (!$ergebnis) { $errors[] = "Bei der Abfrage ist ein Fehler aufgetreten."; } ?> <!DOCTYPE html> <html> <head> <title>Marge Bookmarks</title> <meta charset="UTF-8"> </head> <body> <?php if (count($errors) > 0) { foreach ($errors as $error) { echo '<p>' . $error . '</p>'; } } else { ?> <table width='800' align='left' cellspacing='2'> <thead> <th>ID</th> <th>Bookmark</th> <th>URL</th> </thead> <tbody> <?php while ($row = mysql_fetch_object($ergebnis)) { ?> <tr> <td><?= $row->Nummer ?></td> <td><?= $row->Bookmark ?></td> <td><?= $row->URL ?></td> </tr> <?php } ?> </tbody> </table> <?php } ?> </body> </html> Dein Zugriff auf die Datenbank https://php-de.github.io/jumpto/pdo/ Die mysql_* Funktionen sind veraltet und solltest du dir auf keinen Fall mehr anlernen. In aktuellen PHP-Versionen sind die Funktionen auch schon nicht mehr vorhanden. PDO ist die komfortabelste Schnittstelle zur Datenbank. Es gibt auch noch mysqli, die könntest du auch nehmen... ich empfehle aber wirklich PDO. Sicherheit https://php-de.github.io/#security In deiner Anwendung speicherst du User-Eingaben und gibst sie wieder aus. Solche Eingaben müssen immer mit Vorsicht behandelt werden weil ganz einfach Schadcode eingeschleust werden kann. Aus der Liste solltest du dir unbedingt die Punkte "SQL-Injection" und "Cross-Site-Scripting" durchlesen und die Prinzipien anwenden. Der Punkt "Kontextwechsel" fässt nochmal zusammen warum die beiden Dinge mit unterschiedlichen Funktionen behandelt werden müssen. Deine Frage Aus deinem Code wird nicht deutlich an welcher Stelle du gerade steckst. Den Link selbst kannst du per Insert in deine SQL-Tabelle einfügen, genauso wie auch die anderen Daten. Und mit einem Update aktualisieren. Bearbeitet 28. März 2017 von PVoss Kingyobachi reagierte darauf 1 Zitieren
JimTheLion Geschrieben 28. März 2017 Geschrieben 28. März 2017 (bearbeitet) vor 26 Minuten schrieb Rienne: Und wenn so eine Aufgabe doch verlangt wird, dann sollte man sich selber der Recherche bedienen und nicht in einem Forum nach der Lösung fragen. Beim Googlen trifft man doch eh nur auf andere Leute die bereits ähnliche Fragen in Foren gestellt haben. (Wobei ich zugeben muss, dass sich die Frage auch als nach einer Bitte um Code lesen lässt.) Wenn er hier Fragen stellt, übt er gleich die Fragen richtig zu stellen. Die Fähigkeit wird er auch in der Ausbildung brauchen wenn er die zuständigen Kollegen nicht mit ungenauem Zeug quälen will. Im Gespräch kann man zwar noch ein bisschen mehr nachhaken als auf schriftlichem Wege, aber irgendwann wird einem das auch zu anstrengend. Ich sehe es als gutes Ziel an, Fragen mit technischem Hintergrund klar formulieren zu können. Zu der Frage vom TE, wie sie aktuell da steht, könnte ich ein paar Sachen nachfragen, aber schriftlich ist mir das zu anstrengend. Bearbeitet 28. März 2017 von PVoss RipperFox reagierte darauf 1 Zitieren
Rienne Geschrieben 28. März 2017 Geschrieben 28. März 2017 vor 9 Minuten schrieb PVoss: Zu der Frage vom TE, wie sie aktuell da steht, könnte ich ein paar Sachen nachfragen, aber schriftlich ist mir das zu anstrengend. Da liegt das Problem. Ohne Nachfragen unsererseits bzw. Präzisierung des Problems durch den TE, wird es schwer zu helfen. Aber ich kann ja mal als HTML/PHP-Noob das aufzählen, was mir dazu einfällt: Was ist mit dem "gewählten" Mitarbeiter? Wo wird der ausgewählt bzw wo wird dieser berücksichtigt? Der Aufbau der Datenbank und der vorhandenen Tabellen ist uns unbekannt. Was genau ist mit Verlinkung gemeint? Dass die URL auch als Hyperlink fungiert? vor 11 Stunden schrieb Kingyobachi: "SELECT * FROM `margebookmark"; Ist das ` dort beabsichtigt? Zitieren
Whiz-zarD Geschrieben 28. März 2017 Geschrieben 28. März 2017 vor 51 Minuten schrieb Rienne: Was ist mit dem "gewählten" Mitarbeiter? Wo wird der ausgewählt bzw wo wird dieser berücksichtigt? Der Aufbau der Datenbank und der vorhandenen Tabellen ist uns unbekannt. Was genau ist mit Verlinkung gemeint? Dass die URL auch als Hyperlink fungiert? Ist das ` dort beabsichtigt? Zu 1) Klingt danach, als gäbe es ein Drop-Down-Menü, in der die Nutzer aufgelistet werden. Zu 2) Die Datenbank soll selber erstellt werden. Siehe den anderen Thread vom TE: Zu 3) Das Wort "Verlinkung" verwendet nur der TE. In der Aufgabenstellung steht, dass es Links geben soll, die zu einer weiteren Webseite führt. Zu 4) Da fehlt wohl noch ein ` am Ende der Query. Ich muss aber auch sagen, dass so eine Aufgabe für jemanden, der eine Ausbildung anfangen möchte, einfach zu viel ist. So etwas stellt man vielleicht Junior Entwickler, um deren Wissen zu überprüfen aber keinen potenziellen Anwärter für eine Ausbildung. Entweder hat der Betrieb kein Plan oder die suchen wirklich eine billige Arbeitskraft. thereisnospace reagierte darauf 1 Zitieren
Rienne Geschrieben 28. März 2017 Geschrieben 28. März 2017 vor 14 Minuten schrieb Whiz-zarD: Zu 1) Klingt danach, als gäbe es ein Drop-Down-Menü, in der die Nutzer aufgelistet werden. Aber selbst dann muss das doch in der Datenbankabfrage als WHERE-Bedingung berücksichtigt werden, oder nicht? Zitieren
thereisnospace Geschrieben 28. März 2017 Geschrieben 28. März 2017 vor 1 Stunde schrieb Whiz-zarD: Ich muss aber auch sagen, dass so eine Aufgabe für jemanden, der eine Ausbildung anfangen möchte, einfach zu viel ist. So etwas stellt man vielleicht Junior Entwickler, um deren Wissen zu überprüfen aber keinen potenziellen Anwärter für eine Ausbildung. Entweder hat der Betrieb kein Plan oder die suchen wirklich eine billige Arbeitskraft. So sehe ich das auch. Ich würde auch nicht bei einem Betrieb, in dem man nicht weiß was der Sinn und Zweck einer Ausbildung ist, meine Ausbildung vollziehen. Wie schon richtig mehrmals gesagt wurde, dient die Ausbildung dazu dich für solche Aufgaben vorzubereiten, sodass du sie selbstständig lösen kannst. Das hier geht weit über "Einsteigerkenntnisse" in der Informatik, die für den Ausbildungsberuf vorausgesetzt werden, hinaus. allesweg reagierte darauf 1 Zitieren
lilith2k3 Geschrieben 28. März 2017 Geschrieben 28. März 2017 vor 20 Stunden schrieb Chief Wiggum: Dann mach mal - denn die Aufgabe soll deinen Wissensstand widerspiegeln. Ausserdem ist die Aufgabenstellung für einen Azubibewerber deutlich zu heftig. Da kann ich dem Chief nur recht geben. Wenn Du in der Tat erst Azubi-Lehrjahr 0 bist, sollest Du Dir in der Tat überlegen, ob das die Klitsche ist, bei der Du gerne arbeiten möchtest. Ohne die Details zu kennen, liest sich das so, als suchte eine Firma "billige Arbeitskräfte", die für einen AzuBi-Lohn jobben kommen. Und zur Belohnung dürfen die ab und zu mal in der Berufsschule auflaufen - aber auch nur dann, wenn der Chef gerade keine wichtigere Arbeit für die Leute hat. Gegen die Anforderung ist per se nichts zu sagen. Allerdings gibt der Kontext zu denken. Und der Rat vom Chief ist bestimmt nicht böse gemeint. Hoffen wir, dass Du es nicht bereust dort angefangen zu haben. Aber dann bleibt uns leider nur: Told you so! allesweg reagierte darauf 1 Zitieren
Kingyobachi Geschrieben 28. März 2017 Autor Geschrieben 28. März 2017 (bearbeitet) Please, nervt nicht mit eurem ausnutzen. Es ist im Gespräch abgemacht worden, dass ich noch mal mein Interesse für den Beruf zeige in dem ich entweder ein Praktikum mache, eine Aufgabe löse etc. Ich wollte insbesondere dabei etwas mit PHP machen. Außerdem ist es ein kleines Unternehmen in dem ein Freund von mir gearbeitet hat. Er kann mir schon sagen, was für ein Unternehmen das ist. Eure Vorurteile sind fantastisch. Natürlich nehme ich eure Tipps nicht böse, aber es reicht. Man muss nicht alles doppelt und dreifach zitieren und wiederholen. Da es nicht hervorgeht (Ja ich weiß meine Fragestellung ist schlecht und unkonkret) was meine Frage ist, erläutere ich nochmal meine Fragestellung: Ich habe eine SQL Datenbank in meinen PHP Code aufgenommen. Darin befindet sich eine Tabelle mit Nummer, Seite und deren Url. Ich möchte, dass man in der Tabelle die Seite oder den Url anklicken kann und sich dann die jeweilige URL öffnet. Ich suche nach keinen Code sondern nach einer Quelle wo es mir erklärt wird. Bearbeitet 28. März 2017 von Kingyobachi Zitieren
Whiz-zarD Geschrieben 28. März 2017 Geschrieben 28. März 2017 vor 23 Minuten schrieb Kingyobachi: Ich möchte, dass man in der Tabelle die Seite oder den Url anklicken kann und sich dann die jeweilige URL öffnet. Wie man ein Link in HTML setzt, findest du nicht selbst heraus? Eine Quelle, wo du es finden kannst: https://www.w3schools.com Zitieren
JimTheLion Geschrieben 28. März 2017 Geschrieben 28. März 2017 vor 23 Minuten schrieb Kingyobachi: Ich möchte, dass man in der Tabelle die Seite oder den Url anklicken kann und sich dann die jeweilige URL öffnet. Dann geht es um folgende Stelle, oder? <td >$row->URL</td> Da musst du dann nicht direkt die Url ausgeben, sondern den <a> Tage nutzen und darin das href-Attribut mit der URL befüllen. https://www.w3schools.com/html/html_links.asp Zitieren
Kingyobachi Geschrieben 28. März 2017 Autor Geschrieben 28. März 2017 (bearbeitet) Achso ich kann direkt in der SQL Tabelle die Verlinkung reinschreiben. Gut, zu wissen. Ich dachte ich muss direkt im Code den <a> Tag verwenden und die Funktion irgendwie im href-Attribut einfügen. Kein Wunder, dass es nicht geklappt hat. Bearbeitet 28. März 2017 von Kingyobachi Zitieren
JimTheLion Geschrieben 28. März 2017 Geschrieben 28. März 2017 vor 4 Minuten schrieb Kingyobachi: Achso ich kann direkt in der SQL Tabelle die Verlinkung reinschreiben Wie meinst du das? In die Tabelle komm die Url, z.B. www.example.com In deinem HTML gibst du das dann als Link aus. <a href='$url'>$url</a> Bei der Ausgabe das Escapen nicht vergessen. Zitieren
Kingyobachi Geschrieben 28. März 2017 Autor Geschrieben 28. März 2017 (bearbeitet) vor 8 Minuten schrieb PVoss: Wie meinst du das? In die Tabelle komm die Url, z.B. www.example.com In deinem HTML gibst du das dann als Link aus. <a href='$url'>$url</a> Bei der Ausgabe das Escapen nicht vergessen. So habe ich es gemacht. Ich habe das ">" vergessen, aber er nimmt es trotzdem an. Bearbeitet 28. März 2017 von Kingyobachi Zitieren
JimTheLion Geschrieben 28. März 2017 Geschrieben 28. März 2017 Ne schreib nur die URL in die Datenbank, ohne das HTML. Einen Link kannst du immer an der Stelle zusammenbauen an der du ihn brauchst. Wenn du jetzt aber das HTML für den Link in der Datenbank speicherst und sich die Anforderung ändert und du nur die URL in anzeigen sollst müsstest du deinen gespeicherten Wert erst auseinander nehmen. Kingyobachi reagierte darauf 1 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.