Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 21:49

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



MYSQL Insert, Lösungsansatz fehlt

Discussion on MYSQL Insert, Lösungsansatz fehlt within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1


 
DasPrinzip.'s Avatar
 
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_pkusernamepasswordemailnamevornamepunkte
1user1sha1(pw)mayrdieter50
2user2sha1(pw)maierhans100

tbl_2
id_pkpiclinkheadlinedescriptionurlid_fk
1qwert.pngTitel1Ein Bild 1http:/ /www.bi ld1.de1
2qwertz.pngTitel2Ein Bild 2http:/ /www.bi ld2.de2
3qwertzu.pngTitel3 Ein Bild 3 http:/ /www.b ld3.de1

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
DasPrinzip. is offline  
Old 03/18/2015, 16:20   #2
 
Mikesch01's Avatar
 
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
Mikesch01 is offline  
Old 03/18/2015, 16:29   #3
 
lnqlorlouz's Avatar
 
elite*gold: 0
Join Date: Jun 2013
Posts: 405
Received Thanks: 84
Quote:
Originally Posted by DasPrinzip. View Post
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_pkusernamepasswordemailnamevornamepunkte
1user1sha1(pw)mayrdieter50
2user2sha1(pw)maierhans100

tbl_2
id_pkpiclinkheadlinedescriptionurlid_fk
1qwert.pngTitel1Ein Bild 1http:/ /www.bi ld1.de1
2qwertz.pngTitel2Ein Bild 2http:/ /www.bi ld2.de2
3qwertzu.pngTitel3 Ein Bild 3 http:/ /www.b ld3.de1

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')
lnqlorlouz is offline  
Old 03/18/2015, 19:15   #4


 
DasPrinzip.'s Avatar
 
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.
DasPrinzip. is offline  
Old 03/18/2015, 19:45   #5
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
Quote:
Originally Posted by DasPrinzip. View Post
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
Mikesch01 is offline  
Old 03/18/2015, 19:52   #6


 
DasPrinzip.'s Avatar
 
elite*gold: 727
Join Date: Feb 2012
Posts: 1,206
Received Thanks: 303
Quote:
Originally Posted by Mikesch01 View Post
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
DasPrinzip. is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.