Hallo,
ich weiß nicht wie ich mit der Fehlermeldung weiterkomme, die ich beim Speichern bekomme. Auch wenn nichts verändert wurde und "Speichern" wähle erhalte ich diese Fehledermeldung:
Die Anzeige ist:
Anhang 8157
Alle SQL, die ich mir von den echo's ausgegeben habe funktionieren einwandfrei beim Ausführen mit HeidiSql.
Der Code ist leider etwas länger:
PHP-Code:
public function saveValueKat($value, $dc, $katSubKatIdentifier)
{
if($katSubKatIdentifier == "kategorie")
{
$sqlDel = array('
DELETE dands_shopkategoriedeeplink, dands_shopkategorie
FROM rech_db.dands_shopkategoriedeeplink
LEFT JOIN dands_shopkategorie ON (dands_shopkategoriedeeplink.ShopKategorieId = dands_shopkategorie.Kategorie)
WHERE dands_shopkategorie.pid = "'.$dc->id.'" AND dands_shopkategoriedeeplink.pid="'.$dc->id.'";
');
$katID="Kategorie";
$fieldNames = array('Kategorie', 'ShopKategorieId', 'ShopDeepLink', 'ShopDeepLink_rtz', 'ShopDeepLink_ls24', 'ShopDeepLink_nn');
$sqlMidTableAux = " INSERT INTO rech_db.dands_shopkategorie (pid, Kategorie) VALUES ";
}
else if($katSubKatIdentifier == "subkategorie")
{
$sqlDel = array('
DELETE dands_shopkategoriedeeplink, dands_shopsubkategorie
FROM rech_db.dands_shopkategoriedeeplink
LEFT JOIN dands_shopsubkategorie ON (dands_shopkategoriedeeplink.ShopKategorieId = dands_shopsubkategorie.SubKategorie)
WHERE dands_shopsubkategorie.pid = "'.$dc->id.'" AND dands_shopkategoriedeeplink.pid="'.$dc->id.'";
');
$katID="SubKategorie";
// field names von dands_shopdeeplink
$fieldNames = array('Kategorie', 'ShopKategorieId', 'ShopDeepLink', 'ShopDeepLink_rtz', 'ShopDeepLink_ls24', 'ShopDeepLink_nn');
$sqlMidTableAux = " INSERT INTO rech_db.dands_shopsubkategorie (pid, SubKategorie) VALUES ";
}
else
{
exit("::saveValueKat $katSubKatIdentifier nicht gesetzt!");
}
$desValue = deserialize($value, TRUE);
$desValue = array_reverse($desValue);
$sqlMidTable = array();
$sql = array();
foreach ($desValue as $valueOneDim)
{
$valueOneDim = $this->reduceValueToFields($valueOneDim, $fieldNames);
if($valueOneDim['Kategorie'] != '')
{
// Wertepaar in Zwischentabelle dands_kategorie bzw. dands_subkategorie einfügen
array_push($sqlMidTable , $sqlMidTableAux.'("'.$dc->id.'","'.$valueOneDim['Kategorie'].'"); ');
// Anführungzeichen zulassen
$valueOneDim = array_map('htmlspecialchars',$valueOneDim);
$entry = implode('", "',$valueOneDim);
$fields = 'pid, ShopKategorieId,ShopDeepLink,ShopDeepLink_rtz,ShopDeepLink_ls24,ShopDeepLink_nn, tstamp';
$values = '"'.$dc->id.'", "'.$entry.'"';
array_push($sql, ' INSERT INTO dands_shopkategoriedeeplink ('.$fields.') VALUES ('.$values.', NOW());');
}
else
{
echo("<br><br><br>saveValueKat :: MÖGLICHERWEISE EIN PROBLEM ::_valueOneDim[_katID] ist leer <br><br><br>");
}
}
echo "<br><b>$katID *****************************</b><br>".implode($sqlDel)."<br><br>";
echo "<b>MID</b><br> ".implode($sqlMidTable)."<br><br>";
echo "<b>ShopKatLink</b><br>".implode($sql)."<br><br>";
echo "<br><br><br>###########################################<br><br> ";
if(sql != '')
{
$this->execSqlArr($sqlDel);
$this->execSqlArr($sqlMidTable);
$this->execSqlArr($sql);
}
else
{
echo " $SQL ist Leer";
exit("fajksdfhjkasdhfjkashjk");
}
return $value;
}
PHP-Code:
public function saveSubCategoriesRB($value, $dc)
{
if(!$value)
{
}
else
{
$this->saveValueKat($value, $dc, 'subkategorie');
}
return $value;
}
Hier wird die Funktion "saveSubCategoriesRB" aufgerufen:
PHP-Code:
'ShopSubKategorien' => array
(
'label' => &$GLOBALS['TL_LANG']['dands_shop']['ShopSubKategorien'],
'inputType' => 'multiColumnWizard',
'search' => true,
'filter' => false,
'save_callback' => array(array('dands_shop', 'saveSubCategoriesRB')),
'load_callback' => array(array('dands_shop', 'loadSubCategoriesRB')),
'eval' =>
array
(
'columnFields' => array
(
'Kategorie' => array
(
'label' => &$GLOBALS['TL_LANG']['dands_shopkategorie']['Kategorie'],
'exclude' => false,
'inputType' => 'select',
'options_callback' => array('dands_shop', 'getShopSubKategorienRb'),
'eval' => array('style' => 'width:150px', 'allowHtml'=>true, 'mandatory'=>true, 'doNotSaveEmpty'=>true , 'maxlength'=>100)
),
'ShopDeepLink' => array
(
'label' => &$GLOBALS['TL_LANG']['dands_shopkategoriedeeplink']['ShopDeepLink'],
'exclude' => false,
'inputType' => 'text',
'eval' => array('style' => 'width:100px', 'allowHtml'=>true, 'mandatory'=>false, 'doNotSaveEmpty'=>true , 'maxlength'=>2000)
),
'ShopDeepLink_rtz' => array
(
'label' => &$GLOBALS['TL_LANG']['dands_shopkategoriedeeplink']['ShopDeepLink_rtz'],
'exclude' => false,
'inputType' => 'text',
'eval' => array('style' => 'width:100px', 'allowHtml'=>true, 'mandatory'=>false, 'doNotSaveEmpty'=>true , 'maxlength'=>300)
),
'ShopDeepLink_ls24' => array
(
'label' => &$GLOBALS['TL_LANG']['dands_shopkategoriedeeplink']['ShopDeepLink_ls24'],
'exclude' => false,
'inputType' => 'text',
'eval' => array('style' => 'width:100px', 'allowHtml'=>true, 'mandatory'=>false, 'doNotSaveEmpty'=>true , 'maxlength'=>300)
),
'ShopDeepLink_nn' => array
(
'label' => &$GLOBALS['TL_LANG']['dands_shopkategoriedeeplink']['ShopDeepLink_nn'],
'exclude' => false,
'inputType' => 'text',
'eval' => array('style' => 'width:100px', 'allowHtml'=>true, 'mandatory'=>false, 'doNotSaveEmpty'=>true , 'maxlength'=>300)
),
),
'mandatory' => false,
'doNotSaveEmpty'=>true,
'accesskey'=>'pid',
'columns' =>5,
)
),
Hat jemand einen Ansatz für mich wie ich mit dem Debugging weiter komme.
Die Meldung "too few arguments to build the query string" bringt mich nicht weiter ...
Danke und Viele Grüße
Daniel