Autor | Zpráva | ||
---|---|---|---|
lamič Profil |
#1 · Zasláno: 21. 12. 2014, 17:00:04
Ahoj, řeším teď jeden takový problém... mám script na odstranění záznamu v tabulce po kliknutí na tlačítko smazat v administračním režimu. Vše funguje ale nyní bych chtěl poupravit script, aby se sice záznam z tabulky smazal, ale ještě před tím by se uložil tento záznam do archivu (ve druhé tabulce). Myslel jsem, že stačí to vložení záznamu (ten sql příkaz INSERT) vložit před ten s tím delete, ale vykoná se mi jen delete a tabulka archiv je stále prázdná. Poradí prosím někdo?
zde je script: <?php include("connect.php"); $_GET['id_produktu']; $sql2="INSERT INTO tabulka_archivu SELECT * FROM tabulka_produkty WHERE id_produktu=$_GET[id_produktu] LIMIT 1"; $sql="DELETE FROM tabulka_produkty WHERE id_produktu=$_GET[id_produktu] LIMIT 1" ; if (mysql_query("$sql")) { //echo "Zaznam byl vymazan"; header("Location: product.php"); exit; } else { echo mysql_error(); } ?> |
||
mimochodec Profil |
#2 · Zasláno: 21. 12. 2014, 17:04:19
V první řadě zvaž, jestli to takhle chceš určitě udělat. Nebylo by lepší mít v tabulka_produkty sloupec s názvem "aktivni", v něm výchozí hodnotu 1 a při "smazání" vynulovat a nabízet jen ty s jedničkou? Kolik máš v té tabulce řádků? Jaký máš důvod to přesouvat?
|
||
Taps Profil |
lamič:
Nejdříve musíš daný produkt vybrat pomocí selectu a teprve pak vložit pomocí insert, viz např. http://stackoverflow.com/questions/5391344/insert-with-select. Samozřejmě tabulky musí mít stejnou strukturu |
||
lamič Profil |
mimochodec:
chci to tak udělat proto, aby byl tyto záznamy odděleny.. nyní jich tam moc není ale časem jich bude asi mnoho, navíc mám v plánu totéž udělat i u objednávek. Poté udělat vyhledávající script, kdyby se daná osoba spletla, aby šlo daný produkt, či objednávku dohledat zpětně... což jde určitě i tak jak popisuješ, popravdě tak jak to popisuješ mám jednotlivé uživatele kde když je smažu zůstanou v tabulce a v ní je mohu jedním tlačítkem zase obnovit.. (v databázi pak mám smazano (enum ano ne). Nicméně jsme se rozhodl pro toto řešení.... co popisuji Taps mrknu na to... takže jsem na to mrkl tak sběžně, ale nevím co jsi tím chtěl říct, to co tam popisují mám.. dokonce když příkaz vyzkouším v databázi ve zkrácené verzi INSERT INTO tabulka_archivu SELECT * FROM tabulka_produkty |
||
mimochodec Profil |
#5 · Zasláno: 21. 12. 2014, 17:28:56
lamič:
if (mysql_query("$sql")) { |
||
lamič Profil |
#6 · Zasláno: 21. 12. 2014, 17:34:35
yes, děkuji mnohokrát už to funguje jak si představuju :-)
|
||
Časová prodleva: 9 let
|
0