Inserts in eine Tabelle, wobei eine zweite abgefragt wird

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Inserts in eine Tabelle, wobei eine zweite abgefragt wird

    Liebes php-resource-Forum

    Ich hoffe dass ich am richtigen Ort poste und dass ihr mir helfen könnt.
    Folgende Situation:

    Eine Datenbank, 2 Tabellen (es hat noch mehr Tabellen, für diese Abfrage brauche ich aber nur diese beiden).
    Das sind die beiden Tabellen:

    file
    Code:
    file_id | category_id | filetype | filename
    file-category
    Code:
    id | name
    Jetzt geht es um folgendes: ich mache mit meinem Smartphone ein Photo und schicke dieses per Mail an eine bestimmte Adresse. Dabei schreibe ich ins Betreff-Feld die Projekt-Nummer des fotografierten Objektes. Diese Projekt-Nummer ist gleichzeitig auch der Name in file-category. Die Namen der verschiedenen file-category werden bereits vorher vergeben und eingetragen.

    Das Script das den Mail-vom-Smartphone-Versand regelt besteht und funktioniert. Das ist der Teil, der das Bild in die Datenbank schreibt:

    PHP-Code:
    $qry=mysql_query("INSERT INTO `file` (`file_id`, `category_id`, `filetype`, `filename`) VALUES ( 0, '$subject', '$ContentType', '$fName')"); 
    $subject ist das Betreff-Feld. Im Moment funktioniert es so, wenn ich als Betreff die category_id eintrage. Ich hätte aber gerne, dass im Betreff der Name der Kategorie eingetragen wird. Also name von file-category

    Ich muss also wahrscheinlich die Abfrage beider Tabellen vornehmen und verknüpfen. Nur sehe ich den Weg noch nicht.. Kann ich alles in die gleiche Abfrage bzw. ins gleiche INSERT einfügen?

    Vielen Dank

  • #2
    INSERT … SELECT lässt sich dazu „missbrauchen“.

    Einfach die festen Werte als Strings/Zahlen ins SELECT-Statement einsetzen und was noch dynamisch dazu gelesen werden soll selektieren, alles in der korrekten Reihenfolge, so dass das letztendlich einen „Datensatz“ ergibt, den das INSERT dann einfügen kann. (Dabei darauf achten, auch wirklich nur einen Datensatz zu erzeugen, und nicht durch eine fehlerhafte Selektion ggf. mehrere.)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar

    Lädt...
    X