|
You last visited: Today at 21:49
Advertisement
MYSQL Insert, Lösungsansatz fehlt
Discussion on MYSQL Insert, Lösungsansatz fehlt within the Web Development forum part of the Coders Den category.
03/18/2015, 11:05
|
#1
|
elite*gold: 727
Join Date: Feb 2012
Posts: 1,206
Received Thanks: 303
|
MYSQL Insert, Lösungsansatz fehlt
Hallo liebe Com,
und zwar mache ich zu Übung ein kleines Projekt.
Es gibt 2 Tabellen tbl_1 und tbl_2 einfach mal frei erfunden.
Nun habe ich bei der einen tbl_1 7 Spalten und tbl_2 6 Spalten.
tbl_1
| id_pk | username | password | email | name | vorname | punkte |
|---|
| 1 | user1 | sha1(pw) |  | mayr | dieter | 50 | | 2 | user2 | sha1(pw) |  | maier | hans | 100 |
tbl_2
| id_pk | piclink | headline | description | url | id_fk |
|---|
| 1 | qwert.png | Titel1 | Ein Bild 1 | http:/ /www.bi ld1.de | 1 | | 2 | qwertz.png | Titel2 | Ein Bild 2 | http:/ /www.bi ld2.de | 2 | | 3 | qwertzu.png | Titel3 | Ein Bild 3 | http:/ /www.b ld3.de | 1 |
D.h. id_pk von tbl_1 ist verknüpft mit id_fk von tbl_2.
Nun fehlt mir die kreativität, bzw der Lösungsansatz, wie ich es löse, wenn z.B. User1 angemeldet ist, dass der id_fk in tbl_2 eingetragen wird von User1.
Ich hätte es vielleicht so gelöst:
PHP Code:
$idfk = '(SELECT id_pk FROM tbl_1 WHERE username = $_SESSION["username"])';
Code:
INSERT INTO tbl_2
(headline, description, url, picname, id_fk)
VALUES
('$headline','$description','$url','$dateiname','$idfk')
Oder gibt es da einen anderen Lösungsansatz? Über Tipps oder Verbesserungen würde ich mich freuen
|
|
|
03/18/2015, 16:20
|
#2
|
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
|
Hi.
Erstelle zusätzlich eine Session-Variable mit der userID beim Login, die sozusagen ja nun dem jeweiligen Benutzer gehört.
Diese kannst du beim Eintrag-Speichern dann verwenden
|
|
|
03/18/2015, 16:29
|
#3
|
elite*gold: 0
Join Date: Jun 2013
Posts: 405
Received Thanks: 84
|
Quote:
Originally Posted by DasPrinzip.
Hallo liebe Com,
und zwar mache ich zu Übung ein kleines Projekt.
Es gibt 2 Tabellen tbl_1 und tbl_2 einfach mal frei erfunden.
Nun habe ich bei der einen tbl_1 7 Spalten und tbl_2 6 Spalten.
tbl_1
| id_pk | username | password | email | name | vorname | punkte |
|---|
| 1 | user1 | sha1(pw) |  | mayr | dieter | 50 | | 2 | user2 | sha1(pw) |  | maier | hans | 100 |
tbl_2
| id_pk | piclink | headline | description | url | id_fk |
|---|
| 1 | qwert.png | Titel1 | Ein Bild 1 | http:/ /www.bi ld1.de | 1 | | 2 | qwertz.png | Titel2 | Ein Bild 2 | http:/ /www.bi ld2.de | 2 | | 3 | qwertzu.png | Titel3 | Ein Bild 3 | http:/ /www.b ld3.de | 1 |
D.h. id_pk von tbl_1 ist verknüpft mit id_fk von tbl_2.
Nun fehlt mir die kreativität, bzw der Lösungsansatz, wie ich es löse, wenn z.B. User1 angemeldet ist, dass der id_fk in tbl_2 eingetragen wird von User1.
Ich hätte es vielleicht so gelöst:
PHP Code:
$idfk = '(SELECT id_pk FROM tbl_1 WHERE username = $_SESSION["username"])';
Code:
INSERT INTO tbl_2
(headline, description, url, picname, id_fk)
VALUES
('$headline','$description','$url','$dateiname','$idfk')
Oder gibt es da einen anderen Lösungsansatz? Über Tipps oder Verbesserungen würde ich mich freuen 
|
Code:
INSERT INTO tbl_2 WHERE username = $_SESSION["username"]
(headline, description, url, picname, id_fk)
VALUES
('$headline','$description','$url','$dateiname','$idfk')
|
|
|
03/18/2015, 19:15
|
#4
|
elite*gold: 727
Join Date: Feb 2012
Posts: 1,206
Received Thanks: 303
|
Okay danke an beide schon mal.
@ lnqlorlouz
Mit der WHERE Bedingung bekomme ich doch dann einen Fehler, weil in der tbl_2 ja keine Spalte username ist. Oder hab ich grad einen Denkfehler?
@Mikesch01
Ja stimmt das war oben nur theoretisch, hätte es rein aus Schönheit in ne Variable gepackt :P
Und es geht ja darum, dass die id_fk dem User entspricht, der die gleiche id_pk hat.
D.h. , wenn ich alle Bilder ausgeben will, die User1 hochgeladen hat, braucht das Bild ja die id_fk von dem User. Die soll eben eingetragen werden, wenn er/sie/es ein Bild hochlädt.
|
|
|
03/18/2015, 19:45
|
#5
|
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
|
Quote:
Originally Posted by DasPrinzip.
Und es geht ja darum, dass die id_fk dem User entspricht, der die gleiche id_pk hat.
D.h. , wenn ich alle Bilder ausgeben will, die User1 hochgeladen hat, braucht das Bild ja die id_fk von dem User. Die soll eben eingetragen werden, wenn er/sie/es ein Bild hochlädt.
|
Wie ich schon sagte. Man verwendet normalerweise zwei Session-Variablen. Einmal den Benutzernamen und einmal die userID. Diese representieren den aktuellen Benutzer.
Die userID aus der Session solltest du in einer Spalte bei der Tabelle für die Bilder beim Hochladen ablegen, wie du beschrieben hast.
Damit kannst du direkt alle Daten von einem Benutzer auslesen.
Stichwort: Relationale Datenbanken
|
|
|
03/18/2015, 19:52
|
#6
|
elite*gold: 727
Join Date: Feb 2012
Posts: 1,206
Received Thanks: 303
|
Quote:
Originally Posted by Mikesch01
Wie ich schon sagte. Man verwendet normalerweise zwei Session-Variablen. Einmal den Benutzernamen und einmal die userID. Diese representieren den aktuellen Benutzer.
Die userID aus der Session solltest du in einer Spalte bei der Tabelle für die Bilder beim Hochladen ablegen, wie du beschrieben hast.
Damit kannst du direkt alle Daten von einem Benutzer auslesen.
Stichwort: Relationale Datenbanken
|
Ahhh sorry hab das zusätzlich überlesen^^
Ja das ist gut
|
|
|
 |
Similar Threads
|
MySQL INSERT INTO ... VALUES
03/10/2015 - General Coding - 1 Replies
Hallo,
Ich frage mich ob es möglich ist die datensätze automatisch in die Tabellen einzufügen, bis jetzt geht die erste Zeile jeder CSV datei.
Und alles Manuell einzugeben ist bei 12000 Datensätzen einfach zu viel :(
Ich muss für jede Tabelle einen neuen Primärschlüssel erstellen, aber wie?
-- Anlagen der Datenbank und der Tabellen
DROP DATABASE IF EXISTS bundesliga;
-- CREATE DATABASE <datenbankname>
-- CHARACTER SET <zeichenkodierung>
|
[MySQL] insert nur, wenn Eintrag nicht existiert
12/15/2014 - Web Development - 28 Replies
Moin,
ich suche eine recht schnelle und simple Methode um Einträge in MySQL nur dann hinzuzufügen, wenn sie bereits nicht existieren (nach einer ID identifizierbar), sonst wird der Eintrag aktuallisiert.
Natürlich könnte ich das mit PHP ganz einfach über 3 Befehle lösen ... aber bei mehreren hunderten Einträgen wäre das nicht gerade aus schnell.
Kennt da jemand eine schnelle Möglichkeit zu?
MfG
Mr.Tr33
|
PHP / MYSQL Insert REAGIERT NICHT
05/05/2014 - Web Development - 9 Replies
Hallo leute,
wollte mittels eines PHP-Scripts Daten in meine Tabelle einfügen.
Es kommt auch keine Fehlermeldung wenn ich bsp. OR DIE ("Fail"); hinzufüge, allerdings
werden die Einträge einfach nicht in die Tabelle übertragen.
Erkennt ihr einen Fehler?
<html>
<head>
<title> Test </title>
|
[Release] MySQL Insert system
07/18/2010 - CO2 PServer Guides & Releases - 18 Replies
Ello!
First of all, this is NOT sourcedependent, which means you can use this on any source without modifying the code.
This is an replacement for all of you who still uses normal MySQL queries. Use this code to clean up, make it easier and more orginazed.
Here's how it looks:
Example: (Original (LOTF for example))
|
[HELP]C# MySQL Command insert if not exsist?
09/04/2009 - CO2 Private Server - 8 Replies
MySqlCommand Command = new MySqlCommand("INSERT INTO accounts(AccountID,LogonType) VALUES ('" + fillBox.Text + "','3')", Connection);
Now, I want it to check if the value of fillBox.Text doesn't excist before making the account, so It wont create the same account. I tried making it in a try, that didn't help, it just make several accounts with the same name.
~Bas
|
All times are GMT +1. The time now is 21:50.
|
|