Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Guten Tag allerseits,

Ich möchte über php in mysql Tabellen verknüpfen bzw. verbinden.

Das heißt konkret:

Ich habe 2 Tabellen namens:

- pizza

und

- bestellungen

So in der Tabelle "pizza" ist ein Datensatz und der der ID.

In der Tabelle "bestellungen" sind mehrere Datensätze nämlich "pizzagroesse" und "preis" plus der ID.

Jetzt lege ich eine dritte Tabelle namens "zwischentabelle" an.

In dieser Tabelle möchte ich die ID´s zusammenfassen also konkret:

In der zwischentabelle soll stehen:

ID der pizza

ID des preises

ID der pizzagroesse

Diese ID´s sollen nicht gleich sein d.h. es soll nicht 2 mal die ID 345 vorkommen z.B.

Ich möchte dies mit php umsetzten.

Habe folgendes versucht was nicht geht:


$idpizza = "SELECT id FROM pizza";
$result = "INSERT INTO zwischentabelle (pizza, groesse, preis) VALUES ('$idpizza')";
$eintragresult = mysql_query($result);

[/PHP]

Bei

[PHP]$idpizza = "SELECT id FROM pizza";

bin ich mir ziemlich sicher das das richtig ist oO?!

Wie ich die ID´s der groesse und des preises auslese weiß ich leider nicht hoffe da auf Hilfe...

Lieben Gruß und Danke an alle Antworteten.

PS: Bitte keine verweise auf irgendwelche Tutorials, habe mir schon genügend durchgelesen..... bei Google ist dein Freund - habe ihc mich auch schon informiert komme aber zu keinem ergebnis.

Gruß

Habe folgendes versucht was nicht geht
Was bedeutet "geht nicht"?

Hast du das hier schon gelesen?


$result = "INSERT INTO zwischentabelle (pizza, groesse, preis) VALUES ('$idpizza')";
[/PHP]

Kann nicht funktionieren, da die Anzahl der tatsäch übergebenen Argumente (1) ungleich der Anzahl der definierte Argumente (3) ist.

wie soll denn damit irgendwas aus ner DB ausgelesen werden?




$idpizza = "SELECT id FROM pizza";


[/php]

und wie soll das hier zusammenpassen?

[php]


$result = "INSERT INTO zwischentabelle (pizza, groesse, preis) VALUES ('$idpizza')";


Wenn dann etwa so:



$result = "INSERT INTO zwischentabelle (pizza, groesse, preis)
VALUES ('$idpizza', '$idgroesse', '$idpreis')";



[/php]

Dennoch kann das nicht haun weil wo kommen die Daten her für groesse, preis und pizza?

Wie sehn die Tabellen denn genau aus?

Wie schaut dein Script genau aus etc, sowas würde es sehr vereinfachen dir zu helfen, mit einem Select und einem Insert wird dir kaum jemand helfen können :)

Bearbeitet von Saerdna

In der zwischentabelle soll stehen:

ID der pizza

ID des preises

ID der pizzagroesse

Es ist nicht sinnvoll den Preis als ID abzulegen, sondern den Nettopreis + MwSt abzuspeichern, denn bei einer Änderung der Tabelle der Preise wären alte Bestellungen somit falsch, ebenso wie eine Änderung der MwSt.

PS: Bitte keine verweise auf irgendwelche Tutorials, habe mir schon genügend durchgelesen..... bei Google ist dein Freund - habe ihc mich auch schon informiert komme aber zu keinem ergebnis.

Anscheinend hast Du Dich nicht ausreichend Informiert, denn einerseits lassen die gezeigten Statements SQL-Injections zu, weiterhin scheinen Dir noch die DML Statements etwas durcheinander zu geraten. IDs sollten, sofern möglich, automatisch gesetzt werden, damit keine Schlüsselverletzungen auftreten. Dies wäre z.B. bei den Preisen, Bestellungen und Waren sinnvoll. Wenn Du innerhalb der M:N Relation die IDs abspeichern willst, dann musst Du genau diese eine ID erst lesen und dann einfügen.

Aber wie schon Saerdna geschrieben hat, die Tabellenstruktur wäre sinnvoll zu kennen

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.