Mysql Wert aus Spalte aktualisieren und in neue Spalte schreiben

Hallo Ihr Lieben , ;)

habe folgendes kleines Problem, welches ich dirngend gelöst haben muss, da man dies von mir erwartet :D
Ich hoffe ihr könnt mir bei dieser Aufgabe helfen.

Ich möchte bei Joomla den Produktnamen (jos_vm_product_name) um den vorangestellten Herstellernamen mit "str_ireplace" kürzen, wobei ich den Herstellernamen mit INNER JOIN aus einer anderen tabelle(jos_vm_manufacturer) beziehe.

Folgendes Script habe ich mithilfe des Dreamweavers zusammenbasteln können.


PHP:
mysql_select_db($database_RTK, $RTK);
$query_Recordset2 = "SELECT jos_vm_product.product_id,product_parent_id,product_name,produktname,jos_vm_product_mf_xref.manufacturer_id,jos_vm_manufacturer.mf_name FROM jos_vm_product INNER JOIN jos_vm_product_mf_xref ON jos_vm_product_mf_xref.product_id = jos_vm_product.product_id INNER JOIN jos_vm_manufacturer ON jos_vm_manufacturer.manufacturer_id = jos_vm_product_mf_xref.manufacturer_id ORDER BY jos_vm_product.product_id ASC ";
$Recordset2 = mysql_query($query_Recordset2, $RTK) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);

am Ende des Script kann ich den Gewünschten Namen mit folgendem Script in eine Variable($produktname) schreiben.

PHP:
  do {   

$product_name = $row_Recordset2['product_name'];
$mf_name = $row_Recordset2['mf_name'];
//$produktname= $row_Recordset2['produktname'];
$produktname =  str_ireplace($mf_name,'',$product_name);


} while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)  )


wie kann ich nun das ergebnis aus $produktname in eine neue spalte produktname schreiben (aktualisieren), wobei die Spalte product_id zur eindeutigen Identifizierung dient?


Also soll zum Beispiel der Wert "Burmester BM-25" aus spalte product_name mit der product_id = 25 in die Spalte produktname mit dem Wert "BM-25" geschrieben werden

Das ganze soll natürlich in einer Schleife stattfinden wobei eben die product_id varriert


Ich hoffe mIhr habt mein Problem verstanden und könnt mir dabei helfen.

Gruß FSK
 
Zuletzt bearbeitet:
Wo bekommst Du die ProduktID her?
Wo willst Du es hinschreiben, bzw aktualisieren?
In die gleiche Tabelle? In eine neue Tabelle? In eine Datei? Auf den Bildschirm?
 
Zunächst einmal danke für die antwort.

product_id bekomme ich aus der gleichen tabelle wie product_name . aktualisiert werden soll die spalte 'produktname' mit derselben product_id.

product_name => *abändern und in Variable $produktname schreiben* => Wert aus Variable $produktname in der spalte 'produktname' speichern(aktualisieren).
 
Gut...

Also daß Du beim Produktnamen den Herstellernamen schneidest und wieder in die DB schreiben willst, verstehe ich.
Aber willst Du den Produktnamen in der Tabelle "überschreiben" oder eine neue Spalte anlegen?

Eigentlich hat beides weniger mit PHP als mit MySQL zu tun.

Trotzdem, um den Produktnamen zu ändern lautet die MySQL-Syntax
Code:
UPDATE <tabellenname> SET product_name='<neuer produktname>'
Um eine neue Spalte für den kürzeren Produktnamen zu erstellen mußt Du
Code:
ALTER TABLE <tabellenname> ADD COLUMN <spaltenname>
verwenden. Dann kannst Du wieder mit obiger Anweisung in diese Spalte den Wert schreiben.

Für ALTER TABLE benötigst Du allerdings ALTER-, INSERT- und CREATE-Rechte!
Mehr Informationen darüber findest Du unter http://dev.mysql.com/doc/refman/5.1/de/index.html

Auszuführen mit PHP ist das mit der mysql_query()-Funktion...

Ich hoffe, daß ich Dich diesmal richtig verstanden habe?
Sonst mußt nochmal nachhaken...
;)
 
Zurück