Ich möchte die Spalte art_no updaten. Die Artikelnummer besteht aus einem fixen und einem variablen Teil. Der variable Teil repräsentiert die IDs der Produktoptionen Colors, Sizes und Material.
Echo $upd liefert das gewünschte Ergebnis. Beim Update der MySQL-Tabelle – zu finden im Anhang – wird jedoch immer nur die letzte Artikelnummer gespeichert. Was ist falsch an meinem Code?
Die Funktion generateCodes($arr) kombiniert Colors, Sizes und Material-IDs.
Vielen Dank im voraus!
Echo $upd liefert das gewünschte Ergebnis. Beim Update der MySQL-Tabelle – zu finden im Anhang – wird jedoch immer nur die letzte Artikelnummer gespeichert. Was ist falsch an meinem Code?
Die Funktion generateCodes($arr) kombiniert Colors, Sizes und Material-IDs.
PHP:
function generateCodes($arr) {
global $returnArray, $tempArray, $pos;
if(count($arr)) {
for($i=0; $i<count($arr[0]); $i++)
{
$tmp = $arr;
$tempArray[$pos] = $arr[0][$i];
$tarr = array_shift($tmp);
$pos++;
generateCodes($tmp);
}
} else {
$returnArray[] = strtoupper(join(" ", $tempArray));
}
$pos--;
}
$colors = array("red", "green", "blue");
$sizes = array("s","m","l", "xl", "xxl");
$material = array("100%-Baumwolle","Polyester")
$colorsID = array("1", "2", "3");
$sizesID = array("4","5","6", "7", "8");
$materialID = array("9","10");
$valuesID = array($colorsID, $sizesID, $materialID);
$returnArray = array();
$tempArray = array();
$pos = 0;
generateCodes($valuesID);
foreach($returnArray as $key => $item)
{
$j = explode(" ", $item);
//$art_no = '';
$art_no = '1000-'.$j[0].$j[1].$j[2];
$upd = " UPDATE kombis SET art_no = \"$art_no\" ";
$upd .= " WHERE product_id = '1' ";
echo $upd."<br>";
$resUpd = mysql_query($upd) or die(mysql_error());
}