Select Join zusammen mit Update verwenden?

Wie würde ich das denn richtig umsetzten?
Doch abgeschickt habe ich das zweite query. Nur den Code hier nicht reinkopiert.
 
Zuletzt bearbeitet:
So in der richtung würde das Skript das alles machen.
PHP:
$query1 = 'SELECT USA.Street, USA.Streetnumber, USA.City, USA.Zipcode, USA.Firstname, USA.Lastname
                     FROM user_shippingaddress as USA
                           INNER JOIN s_order as O
                                 ON O.UserID=USA.UserID
                           INNER JOIN order_attributes OA
                                 ON O.ID = OA.OrderID
                               WHERE OA.address IS NULL';
                             

$result = mysqli_query($con, $query1);
while ($row = mysqli_fetch_assoc($result)){
     $street = $row['Street'];
     $streetnumb = $row['Streetnumber'];
     $city = $row['City'];
     $zip = $row['Zipcode'];
                $firstname = $row['Firstname'];
                $lastname = $row['Lastname'];    
                $query = "UPDATE order_attributes SET address = 'O:32:\"Address\":8
 {s:6:\"street\";s:11:\"$street\";s:12:\"streetNumber\";s:3:\"$streetnumb\";s:4:\"city\";s:10:\"$city\";s:3:\"zip\";s:5:\"$zip\";s:9:\"firstName\";s:4:\"$firstname\";s:8:\"lastName\";s:5:\"$lastname\";s:10:\"postNumber\";i:;s:7:\"country\";s:11:\"Deutschland\";}' WHERE address IS NULL "; 
               mysqli_query($con, $query);
                          }
 
Hi, danke dir,

So in der Art hatte ich es auch eben geschrieben. Update funktioniert, aber nicht richtig.
Es muss in jeder Zeile etwas anderes importiert werden, da ja jede Zeile eine andere shippingadress hat.
Mir qualmt der Kopf und ich weiß nicht wie ich das noch ändern kann.
Irgendwo, muss irgendwie eine feste Zuordnung hin. Aber nur wo und wie?

Sprich er darf pro update Vorgang nur eine Zeile durchlaufen und dann wieder von vorne beginnen.
Sprich dort wo im ersten query die id genommen wurde darf auch nur der zur id passende Eintrag ins update eingetragen werden.

Zur Verdeutlichung:

Order id=72 shippingaddress: firstname xx
Order id=73 shippingaddress: firstname xy
Order id=74 shippingaddress: firstname xz

Es wird aber beim durchlaufen des Skriptes überall wo Adress is null. Der wert xx eingesetzt und nicht für jede Zeile ein anderer wert.
 
Zuletzt bearbeitet:
Zurück