Digital Jedi
10-09-2013, 03:33 AM
When using this query, I've run into the issue of when the number of rows in the table get somewhere around 200, nothing happens. Nothing is deleted, nor can be. As long as the number of rows (in this case, definitions) is around 30-50, I don't seem to have a problem deleting anything. But with the larger table, I can't even delete one item successfully. Is there some kind of limit in my server settings that would cause this?
$delete = "";
if (!empty($oldorder))
{
$update = array();
foreach($oldorder as $key => $value)
{
if ($deleted["$key"])
{
$delete .= ($delete ? "," : "") . $key;
}
else
{
if ($value != $order["$key"])
{
$update["$key"]['displayorder'] = $order["$key"];
}
if ($oldstatus["$key"] != $status["$key"])
{
$update["$key"]['status'] = $status["$key"];
}
if ($oldcontainer["$key"] != $container["$key"])
{
$update["$key"]['container'] = $container["$key"];
}
if ($oldextract["$key"] != $extract["$key"])
{
$update["$key"]['extraction'] = $extract["$key"];
}
}
}
}
if ($delete)
{
$db->query_write("DELETE FROM " . TABLE_PREFIX . "automediaembed WHERE id in ($delete)");
}
if (sizeof($update))
{
foreach($update as $id => $columns)
{
$columninfo = "";
foreach ($columns as $column => $value)
{
$columninfo .= ($columninfo ? ", " : " SET ") . " $column = '$value'";
}
$db->query_write("UPDATE " . TABLE_PREFIX . "automediaembed $columninfo WHERE id=$id");
}
}
$delete = "";
if (!empty($oldorder))
{
$update = array();
foreach($oldorder as $key => $value)
{
if ($deleted["$key"])
{
$delete .= ($delete ? "," : "") . $key;
}
else
{
if ($value != $order["$key"])
{
$update["$key"]['displayorder'] = $order["$key"];
}
if ($oldstatus["$key"] != $status["$key"])
{
$update["$key"]['status'] = $status["$key"];
}
if ($oldcontainer["$key"] != $container["$key"])
{
$update["$key"]['container'] = $container["$key"];
}
if ($oldextract["$key"] != $extract["$key"])
{
$update["$key"]['extraction'] = $extract["$key"];
}
}
}
}
if ($delete)
{
$db->query_write("DELETE FROM " . TABLE_PREFIX . "automediaembed WHERE id in ($delete)");
}
if (sizeof($update))
{
foreach($update as $id => $columns)
{
$columninfo = "";
foreach ($columns as $column => $value)
{
$columninfo .= ($columninfo ? ", " : " SET ") . " $column = '$value'";
}
$db->query_write("UPDATE " . TABLE_PREFIX . "automediaembed $columninfo WHERE id=$id");
}
}