Portál AbcLinuxu, 10. května 2025 05:36
Dobrý den, potřebuji pro aplikaci, která pracuje s databází vymazat záznam nezávisle na jeho ID klidně uprostřed tabulky, přečíslování ID mám vyřešeno v cyklu FOR pomocí SQL - UPDATE a podmínek, ale při pokusu o změnu ID mi to vyhodí chybovou hlášku přitom syntaxe je podle mě bezchybná.
if ($delete_index == 1) {
$autoinc = mysql_query("ALTER TABLE `Articles` AUTO_INCREMENT ='" . $delete_ID . "'");
if (!$autoinc) {
die('Operace zrušena: ' . mysql_error());
mysq_close($link);}
else {
echo "Increment snížen";
}
}
if ($delete_index == 0) { $after_delete_ID = $delete_ID + 1; for ($x = $delete_ID; $x <= $maxrows_delete_artic; $x++) { mysql_query("UPDATE `Articles` SET ID='" . $x . "' WHERE ID='" . $after_delete_ID . "'"); } $autoinc = mysql_query("ALTER TABLE `Articles` AUTO_INCREMENT ='" . $maxrows_delete_artic . "'"); if (!$autoinc) { die('Operace zrušena: ' . mysql_error()); mysq_close($link); } else { echo "Incrementy sníženy"; } } A KULI TOMUHLE UPRAVUJU TABULKU PRI MAZANI ZAZNAMU for ($x = 1; $x <= $maxrows; $x++) { $query = mysql_query("SELECT * FROM Articles WHERE ID='" . $x . "'"); $row = mysql_fetch_array($query, MYSQL_ASSOC); (HTML struktura pro data) }
$result_delete_artic = mysql_query("SELECT * FROM `Articles`"); $maxrows_delete_artic = mysql_num_rows($result_delete_artic); if ($delete_ID == $maxrows_delete_artic) { $delete_index = 1; } else { $delete_index = 0; } if ($delete_index == 0) { $after_delete_ID = $delete_ID + 1; for ($x = $delete_ID; $x <= $maxrows_delete_artic; $x++) { mysql_query("UPDATE `Articles` SET ID='" . $x . "' WHERE ID='" . $after_delete_ID . "'"); } } else { $query_delete = mysql_query("DELETE FROM `Articles` WHERE ID='" . $delete_ID . "'"); if (!$query_delete) { die('Záznam se nesmazal: ' . mysql_error()); mysq_close($link); } else { echo "Úspěšně smazáno"; } }A funguje skvěle o ID se teď starám já přímo při INSERTU záznamu prostě je tam jen hodnota navíc co se musí zapsat také řízená cyklem :)
mysq_close($link);
$autoinc = mysql_query("ALTER TABLE…
PHP vyhodí chybu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.