Daten aus mysql auslesen und in Textfeld schreiben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
arbeiten
code
datei
datenbank
datum
eigentlichen code
frage
ftp
grundlage
hausnummer
http
inhalt
ort
schritt
stehen
teddy
testperson
url
zeile
-
Gibt's tuts um Daten einer mysql Tabelle auszulesen und in die dafür vorgesehen Textfelder zu schreiben?
Oder ein Codeschnipsel, das 'tuts' auch ^^
Habe also z.B:
name
str
hausnummer
plz
ort
usw...
Und möchte das in die Felder dafür also
Feld1 - name
Feld2 - str
Feld3 - hausnummer
PS: Wie man mit mysql verbindet weiß ich, dass braucht ihr net zu schreiben :P -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
drafed-map schrieb:
http://tut.php-q.net/de/mysql-insert.html
Allein der Titel sacht mir schon, das war net das, was ich haben wollt "mysql-insert"... Und bei Klick wird meine Vermutung bestätigt... Dennoch gibt's auf der nächsten Seite etwas 'vergleichbares' leider aber immer noch nicht hilfreich..
Trotzdem vielen lieben Dank! -
Achso, ich habe "in die dafür vorgesehen Textfelder zu schreiben" gelesen und bin vom Eintragen ausgegangen. Sorry.
Dann versuche es doch mit dem übernächsten Kapitel. Wie du das in PHP anwendest, erfährst du wiederum im darauf folgenden Kapitel.
Beitrag zuletzt geändert: 13.6.2011 0:57:47 von drafed-map -
drafed-map schrieb:
Achso, ich habe "in die dafür vorgesehen Textfelder zu schreiben" gelesen und bin vom Eintragen ausgegangen. Sorry.
Dann versuche es doch mit dem übernächsten Kapitel. Wie du das in PHP anwendest, erfährst du wiederum im darauf folgenden Kapitel.
Sieht schon besser aus, aber i.wie ist das jämmerlich erklärt :( Sacht mir trotzdem net, wie ich diese Daten nun in meine Formular-Felder rein bekomme! -
Ich hoffe ich habe richtig verstanden was du möchtest...
Den Inhalt eines Textfeldes legt man über das "value-Attribut" fest.
Die Abfrage der Daten macht man über den MySql-Befehl "SELECT".
Mehrere "Zeilen" einer Datenbank kannst du per "while-Schleife" auslesen.
Also könnte das ganze in etwa so aussehen:
Pseudocode:
$sql = mysql_query("SELECT * FROM tabellenname"); while($row = mysql_fetch_object($sql)){ echo "<input type=\"text\" name=\"name\" value=\"".$row->name."\" />"; echo "<input type=\"text\" name=\"straße\" value=\"".$row->str."\" />"; echo "<input type=\"text\" name=\"hausnummer\" value=\"".$row->hausnummer."\" />"; echo "<input type=\"text\" name=\"postleitzahl\" value=\"".$row->plz."\" />"; echo "<input type=\"text\" name=\"ort\" value=\"".$row->ort."\" />"; }
Beitrag zuletzt geändert: 13.6.2011 9:27:33 von alfr3d -
alfr3d schrieb:
Ich hoffe ich habe richtig verstanden was du möchtest...
Also könnte das ganze in etwa so aussehen:
Pseudocode:
$sql = mysql_query("SELECT * FROM tabellenname"); while($row = mysql_fetch_object($sql)){ echo "<input type=\"text\" name=\"name\" value=\"".$row->name."\" />"; echo "<input type=\"text\" name=\"straße\" value=\"".$row->str."\" />"; echo "<input type=\"text\" name=\"hausnummer\" value=\"".$row->hausnummer."\" />"; echo "<input type=\"text\" name=\"postleitzahl\" value=\"".$row->plz."\" />"; echo "<input type=\"text\" name=\"ort\" value=\"".$row->ort."\" />"; }
Das ist schon mal sehr gut... Jetzt ließt der allerdings die ersten Daten die er findet aus.. Was ist, wenn ich diese benutzerabhängig haben will? Also angenommen jemand ist eingeloggt, eine Testperson jetzt.. Dann soll diese auch seine eigenen Daten sehen und nicht meine ^^
//edit:
Okay hab's schon, für alle anderes die's interessiert, das ganze sieht nun so aus:
<?php session_start(); require("connect.inc.php"); ?> <?php if(isset($_SESSION['user'])){ $sql = mysql_query("SELECT * FROM users"); while($row = mysql_fetch_object($sql)){ echo "<input type=\"text\" name=\"name\" value=\"".$row->name."\" />"; echo "<input type=\"text\" name=\"straße\" value=\"".$row->str."\" />"; echo "<input type=\"text\" name=\"hausnummer\" value=\"".$row->hausnummer."\" />"; echo "<input type=\"text\" name=\"postleitzahl\" value=\"".$row->plz."\" />"; echo "<input type=\"text\" name=\"ort\" value=\"".$row->ort."\" />"; } } ?>
Beitrag zuletzt geändert: 13.6.2011 14:09:54 von kill-a-teddy -
SELECT * FROM tabellenname WHERE name = 'Testperson'
Wie wäre es, wenn du dich erstmal in die ganze Materie einliest, bevor du dich an sowas wagst? Ich meine... Das ist Grundkurs MySQL und wer nicht einmal das beherrscht, sollte sich wirklich erstmal einlesen.
http://tut.php-quake.net/de/ -
fabo schrieb:
SELECT * FROM tabellenname WHERE name = 'Testperson'
Wie wäre es, wenn du dich erstmal in die ganze Materie einliest, bevor du dich an sowas wagst? Ich meine... Das ist Grundkurs MySQL und wer nicht einmal das beherrscht, sollte sich wirklich erstmal einlesen.
http://tut.php-quake.net/de/
//edit:
Okay jetzt weiß ich, was du meinst, da muss ich mich wohl entschuldigen!
Es wird zwar das angezeigt vom eingeloggten Nutzer, nur das vom nicht eingeloggten auch...
Und mit:
SELECT * FROM tabellenname WHERE name = 'Testperson'
ändert sich nicht viel, außer, dass ich dann gar nichts mehr sehe...
Wie mach ich das ganze so, dass nur die Daten vom eingeloggten Nutzer ausgelesen werden? Wenn du keine Lust mehr hast mir zu helfen ist das auch ok, kann ich verstehen, nach meinem pampigen Beitrag...
Beitrag zuletzt geändert: 13.6.2011 14:36:34 von kill-a-teddy -
Ob pampig oder nicht, sei mal dahingestellt. Das Problem ist, dass du zur Lösungsfindung zu wenig Informationen zur Verfügung stellst.
Logischerweise wird bei
SELECT * FROM tabellenname WHERE name = 'Testperson'
nichts angezeigt. Es handelt sich hier nur um ein Beispiel. Den Spaltennamen und den Inhalt musst du schon an deine eigenen Bedürfnisse anpassen. Damit du lernst, wie das geht und was das soll, habe ich dir den o.g. Link gepostet.
Anschauen, lesen und verstehen.
In Zukunft einfach mehr Informationen liefern wie z.B. Datenbankstruktur (phpMyAdmin -> DB -> exportieren) und ein paar Infos zum verwendeten System, dann kann man auch zielgerichtetere Antworten geben. -
fabo schrieb:
Ob pampig oder nicht, sei mal dahingestellt. Das Problem ist, dass du zur Lösungsfindung zu wenig Informationen zur Verfügung stellst.
Logischerweise wird bei
SELECT * FROM tabellenname WHERE name = 'Testperson'
nichts angezeigt. Es handelt sich hier nur um ein Beispiel. Den Spaltennamen und den Inhalt musst du schon an deine eigenen Bedürfnisse anpassen. Damit du lernst, wie das geht und was das soll, habe ich dir den o.g. Link gepostet.
Anschauen, lesen und verstehen.
In Zukunft einfach mehr Informationen liefern wie z.B. Datenbankstruktur (phpMyAdmin -> DB -> exportieren) und ein paar Infos zum verwendeten System, dann kann man auch zielgerichtetere Antworten geben.
Okay.. Weiß nur nicht, was ich dann bei 'Testperson' hinsetzten sollte? etwa '$user' ?? Weil ich das ja wie gesagt Session abhängig haben will....
die oben genannte Variante funktioniert aber schon mal nicht...
SELECT * FROM users WHERE name = '$user'
soo.. Nachdem ich jetzt das tut gelesen habe, bin ich zum Entschluss gekommen, dass:
SELECT name, str, hausnummer, ort, plz FROM users
richtig wäre.. Was mir dann aber auch alle Daten ausgibt und nicht nur die aus der Session....
Das habe ich dann
hier
gefunden...
Näheres wird nicht beschrieben, also bin ich grad am verzweifeln... -
kill-a-teddy schrieb:
Okay.. Weiß nur nicht, was ich dann bei 'Testperson' hinsetzten sollte? etwa '$user' ?? Weil ich das ja wie gesagt Session abhängig haben will....
Das ist abhängig davon was du in
$_SESSION['user']
speicherst. Speicherst du dort die ID des Users oder den Namen oder irgendetwas ganz anderes???
Logischerweise musst du dann deine Daten entsprechend abfragen:
SELECT * FROM users WHERE name = '".$_SESSION['user']."'
oder
SELECT * FROM users WHERE id = '".$_SESSION['user']."'
oder
SELECT * FROM users WHERE session = '".$_SESSION['user']."'
oder
LERN EINFACH DIE GRUNDLAGEN VON PHP UND MYSQL!!! -
alfr3d schrieb:
kill-a-teddy schrieb:
Okay.. Weiß nur nicht, was ich dann bei 'Testperson' hinsetzten sollte? etwa '$user' ?? Weil ich das ja wie gesagt Session abhängig haben will....
Das ist abhängig davon was du in
$_SESSION['user']
speicherst. Speicherst du dort die ID des Users oder den Namen oder irgendetwas ganz anderes???
Logischerweise musst du dann deine Daten entsprechend abfragen:
SELECT * FROM users WHERE name = '".$_SESSION['user']."'
oder
SELECT * FROM users WHERE id = '".$_SESSION['user']."'
oder
SELECT * FROM users WHERE session = '".$_SESSION['user']."'
oder
LERN EINFACH DIE GRUNDLAGEN VON PHP UND MYSQL!!!
Ausgabe = Nichts! Obwohl -> Eingeloggt!
<div id="userdata"> <?php if(isset($_SESSION['user'])){ $sql = mysql_query("SELECT * FROM users WHERE session = '".$_SESSION['user']."';"); while($row = mysql_fetch_object($sql)){ echo "<input type=\"text\" name=\"name\" value=\"".$row->name."\" />"; echo "<input type=\"text\" name=\"straße\" value=\"".$row->str."\" />"; echo "<input type=\"text\" name=\"hausnummer\" value=\"".$row->hausnummer."\" />"; echo "<input type=\"text\" name=\"postleitzahl\" value=\"".$row->plz."\" />"; echo "<input type=\"text\" name=\"ort\" value=\"".$row->ort."\" />"; } } ?> </div>
Ich hab's auch mit $_GET probiert, aber das funzt auch net... Got ich bin zu dumm für die Welt .__. -
Lass dir mal $_SESSION['user'] ausgeben, d.h.:
echo $_SESSION['user'];
Und schau was drin steht, und das postest du dann noch einmal... -
alfr3d schrieb:
Lass dir mal $_SESSION['user'] ausgeben, d.h.:
echo $_SESSION['user'];
Und schau was drin steht, und das postest du dann noch einmal...
<div id="userdata"> <?php echo $_SESSION['user']; if(isset($_SESSION['user'])){ $sql = mysql_query("SELECT name, str, hausnummer, plz, ort FROM users WHERE id = '".$_SESSION['user']."';"); while($row = mysql_fetch_object($sql)){ echo "<input type=\"text\" name=\"name\" value=\"".$row->name."\" />"; echo "<input type=\"text\" name=\"straße\" value=\"".$row->str."\" />"; echo "<input type=\"text\" name=\"hausnummer\" value=\"".$row->hausnummer."\" />"; echo "<input type=\"text\" name=\"postleitzahl\" value=\"".$row->plz."\" />"; echo "<input type=\"text\" name=\"ort\" value=\"".$row->ort."\" />"; } } ?> </div>
Antwort ist:
Martin (Benutzername) -
$sql = mysql_query("SELECT name, str, hausnummer, plz, ort FROM users WHERE name = '".$_SESSION['user']."';");
Jetzt nochmal: Poste deine SQL-Struktur. Dieses Rätselraten nervt langsam.
id wird wohl nicht den Usernamen beinhalten, oder?
Beitrag zuletzt geändert: 14.6.2011 10:34:39 von fabo -
fabo schrieb:
$sql = mysql_query("SELECT name, str, hausnummer, plz, ort FROM users WHERE name = '".$_SESSION['user']."';");
Jetzt nochmal: Poste deine SQL-Struktur. Dieses Rätselraten nervt langsam.
id wird wohl nicht den Usernamen beinhalten, oder?
Funktioniert Mysql bei dir?
Ohne das ich was verändert habe, bekomme ich urplötzlich:
Die Website kann diese Seite nicht anzeigen. -
Du hast auch noch ein ; zuviel in deiner Abfrage, es müsste so heißen:
$sql = mysql_query("SELECT name, str, hausnummer, plz, ort FROM users WHERE name = '".$_SESSION['user']."'");
Und jetzt schaust du mal deine Datenbank an, und schaust in welcher Spalte Martin steht. Logischerweise muss dann auch die "WHERE-Anweisung" deine Abfrage entsprechend angepasst werden.
Und ich kann mich nur wiederholen: LERN PHP UND MYSQL VON GRUND AUF! Den dann würdest du jetzt nicht so ewig an einem ziemlich simplen "Problem" sitzen...
//edit: Ja, MySQL geht. Hast du noch die .htaccess-Datei auf deinem Webspace, die ich dir mal in einem anderen Thread beschrieben habe?
Beitrag zuletzt geändert: 14.6.2011 10:43:07 von alfr3d -
Ich glaube, dass das Semikolon kein Problem ist.
@TE
Ob die MySQL-Server gerade spinnen, weiß ich nicht. Sollten sie aber irgendwann wieder gehen, poste bitte einen Dump deiner Datenbank, oder mach einen Screenshot davon und poste ihn hier. Denn SO kann hier keiner "arbeiten".
Und denk daran => http://www.lima-city.de/thread/fehler-bei-register-script/page%3A0/perpage%3A100#1002021
Beitrag zuletzt geändert: 14.6.2011 10:45:09 von fabo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage