| Autor | Zpráva | ||
|---|---|---|---|
| mORb Profil * |
#1 · Zasláno: 28. 8. 2006, 01:18:18
mam vypis sprav pre daneho uzivatela:
<? potom po vypise nasleduju moznosti: <td><input type="submit" name="delete" value="Všetky" class="login_butt"></td> a po stlaceni "Oznacene" chcem aby sa mi vymazali z DB vsetky spravy ktore su oznacene a "Neoznacene" aby sa vymazali neoznacene.. v ramci jedneho <form> dikes moc za kazdu radu |
||
| Joker Profil |
#2 · Zasláno: 28. 8. 2006, 07:59:02 · Upravil/a: Joker
Za prvé teď máte všechny ty checkboxy pojmenované stejně. Budete muset každý pojmenovat jinak.
Nejspíš tak, že si v tom while uděláte nějaký index, který budete přidávat ke jménu checkboxu, takže se budou jmenovat "chcb0", "chcb1", "chcb2",... No a potom už zaškrtnutí třeba checkboxu chcb12 zjistíte takhle: if(isset($_POST["chcb12"])... (respektive $_GET, pokud používáte metodu GET) Nevýhoda tohohle je, že potom při tom mazání byste asi pároval checkboxy s řádky tabulky na základě jejich pořadí, takže pokud by mezitím někdo třeba přidal nebo vymazal řádek, můžete smazat jinou zprávu, než bylo původně zamýšleno. Takže bych k tomu checkboxu přidal ještě: '<input type="hidden" name="idmsg'.$i.'" id="idmsg'.$i.'" value="'.$msg["id_mes"].'">' No a potom při tom čtení: if(isset($_POST["chcb".$i])) { $idmsg = intval($_POST["idmsg".$i]); ... } |
||
| mORb Profil * |
#3 · Zasláno: 28. 8. 2006, 12:14:47
no uz to funguje ale zatial mi to vymazava len po jednej sprave aj ked ich mam oznacenych viac...neviem ako tam dalej spravit cyklus kedze s php len zacinam... mam to takto:
if($delete=="Označené"){
|
||
| mORb Profil * |
#4 · Zasláno: 28. 8. 2006, 12:37:04
teda tie spravy sa vymazu ale kolko sprav som vymazal tolkokrat musim dat refresh:) a postupne mi tie spravy miznu..
|
||
| Joker Profil |
#5 · Zasláno: 28. 8. 2006, 15:09:11 · Upravil/a: Joker
Problém toho Vašeho skriptu je, že to $i není stejné jako id_mes. Od toho jsem tam právě já měl to neviditelné pole, ve kterém bylo uložené id.
A za druhé to musíte dát celé do cyklu... něco jako: for($i=0; $i < $pocet_zprav; $i++){ if(isset($_POST["chcb".$i])) { $idmsg = intval($_POST["idmsg".$i]); if(!mysql_query("delete from message where id_mes=$idmsg")) echo Mysql_error(); } } Jinak já bych si možná radši v tom cyklu sestavil SQL dotaz a až potom ho provedl najednou (tady pokud vymazáváte třeba 50 zpráv, potřebujete 50 dotazů do databáze), ale na druhou stranu pokud v tom někde uděláte chybu, tak taky můžete vymazat všechny zprávy v databázi, takže nevím, jestli to mám doporučovat... |
||
| Feri Profil * |
#6 · Zasláno: 28. 8. 2006, 16:14:51
ako spravím, aby, ak je zaškrtnutý checkbox, aby sa obnovilo textové pole - predtým je pole "readonly" a políčko je predtým nezaškrtnuté...viete mi niekto pomôcť?
|
||
|
Časová prodleva: 19 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0