08. juli 2005 - 18:37Der er
10 kommentarer og 1 løsning
Slet mange poster vha checkboxes?
Hejsa..
Først lidt details: Kode i ASP VBScript med en tilhørende Access database.
Problem: Jeg har lavet en formular med checkboxes som kan markeres for at slette poster der er i min database.
Når jeg så trykker "submit" for f.eks at slette 9 markerede poster giver min sql mig dette resultat: DELETE FROM Breve WHERE PostID=105, 104, 101, 100, 99, 98, 97, 96, 95
Se det dur jo ikke... Det indgår i et loop dvs at input type="checkbox" er KUN angivet 1 gang med navnet deletemails derfor ovenstående resultat..
Ok.. Måske misforstår jeg dig men husk på at tallene ikke er faste.. Det kan ligeså godt være tallene 1 2 3 4 5 6 7 8 9 eller 300 andre kombinationer..
Det er et email system, hvor hver email har hver deres unikke ID og det er det ID jeg bruger her for at slette emailen.. Der kommer hele tiden nye mails, derfor nye ID´s så kan jeg jo ikke bruge en sql hvor ID der skal slettes er forud defineret da det jo aldrig er de samme ID.
Du skal give checkboksene samme navn i formen og give dem en value der svarer til det id den modsvarer, når du så laver en Request.Form("CHECKBOX") vil den indeholde alle dem der er markeret i en kommasepereret streng.
Så kan du benytte:
DELETE FROM Breve WHERE PostID IN (" & Request.Form("CHECKBOX") & ")
Selvfølgelig giver det mening, men du lagde ud med at skrive:
Når jeg så trykker "submit" for f.eks at slette 9 markerede poster giver min sql mig dette resultat: DELETE FROM Breve WHERE PostID=105, 104, 101, 100, 99, 98, 97, 96, 95
- og der får mig jo til at tro at du allerede har noget kode som kan lave din SQL-sætning for dig, altså lige bortset fra at det var en forkert SQL til frmålet. Hvis du har denne kode burde det være lige til at rette den til at den i stedet laver en SQL som kan bruges:
DELETE FROM Breve WHERE PostID IN (105, 104, 101, 100, 99, 98, 97, 96, 95)
Men det er måske forkert opfattet at du har sådan et stykke kode?
Ja så har vi desværre misforstået hinanden nielle.. Men den sql jeg ledte efter var den steent kom med :P
Tak for det steent, du får points..
Du har måske også svaret på den her? "Kunne også godt bruge et script der gør sådan at ved tryk på 1 knap/link så bliver alle checkboxe markeret... det er vel javascript?"
Stiller sids nævnte spørgsmål i en ny tråd så vedkommende også kan få points for det :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.