Autor | Zpráva | ||
---|---|---|---|
dan55 Profil * |
#1 · Zasláno: 11. 7. 2009, 10:30:47
Dobrý den, mám asi 100 řádků v mysql a na stránce také 100 řádků výsledků z db.
U každého záznamu je checkbox na mazání řádku. Chci aby když někdo vybere třeba 20 checkboxů (s name delete[] a value cestou fotky (img/44575.jpg) aby smazalo se 20 řádků z mysql. To už mám. Jenže místo toho chci, aby se provedl for cyklus a mazalo se to "po jednom" a zároveň se smazala i příslušná fotka (např. unlink("img/46948.jpg"); ). Vlastně vybere se 14 checkboxů a cyklus se provede 14x. Jenže jak to udělat??? Pomůžete mi? |
||
firgas Profil * |
#2 · Zasláno: 11. 7. 2009, 10:57:28
moze byt nieco taketo:
<?php if (isset($_POST["zmazat"])&&count($_POST["stranky"])!=0) { foreach ($_POST["stranky"] as $id) { $result=$mysqli->query("select obrazok from pm_novinky where id='".$id."'"); $obrazok=$result->fetch_object(); @unlink($upload_dir."/".$obrazok->obrazok); $result=$mysqli->query("select * from pm_novinky_galeria where novinka=$id"); while ($fotka=$result->fetch_object()) { @unlink("$upload_dir/$fotka->subor"); } $mysqli->query("delete from pm_novinky where id='".$id."'"); } } ?> je to kus mojho scriptu, namiesto toho delete[] su tam stranky[] a ich hodnota nieje nazov suboru ale id fotky v databaze |
||
firgas Profil * |
#3 · Zasláno: 11. 7. 2009, 11:06:36
alebo prepisane do tvojho modelu
<?php if (count($_POST["delete"])>0) { foreach ($_POST["delete"] as $file) { $mysqli->query("delete from fotky where subor='".$file."'"); @unlink($upload_dir."/".$file); } } ?> |
||
dan55 Profil * |
#4 · Zasláno: 11. 7. 2009, 11:07:36
[#2] Promiň ale toto jsem nepochopil.
|
||
firgas Profil * |
#5 · Zasláno: 11. 7. 2009, 11:11:33
$_POST["delete"] = pole s nazvami suborov ktore zaceknes vo formulary
<?php if (count($_POST["delete"])>0) { //ceknes ci uzivatel zacekol nejake fotky foreach ($_POST["delete"] as $file) { //ciklus ktory postupne berie jednotlive prvky pola ako premennu $file $mysqli->query("delete from fotky where subor='".$file."'"); //vymazes fotku z databazy (neviem aku strukturu ma tvoja tabulka) @unlink($upload_dir."/".$file); //vymazes samotny subor } } ?> |
||
dan55 Profil * |
#6 · Zasláno: 11. 7. 2009, 11:15:16
[#3] Moc děkuji už to jide
Udělal jsem to tak: if (count($_POST["delete"])>0) { foreach ($_POST["delete"] as $file) { mysql_query("delete from zamkovky_galerie where cesta='".$file."'"); unlink("img/".$file.""); } } |
||
dan55 Profil * |
#7 · Zasláno: 11. 7. 2009, 11:16:06
[#5] ten druhý kód jsem pochopil, ale ten první ne. Ale moc dííky!!
|
||
firgas Profil * |
#8 · Zasláno: 11. 7. 2009, 11:34:32
jo a este by som odporucal pouzivat objektovu triedu mysqli namiesto toho mysql_query
je to ovela prehladnejsie a jednoduchsie http://sk.php.net/manual/en/book.mysqli.php |
||
dan55 Profil * |
#9 · Zasláno: 11. 7. 2009, 12:03:42
[#8] Jo podívám se na to čau
|
||
Časová prodleva: 15 let
|
0