Avatar billede supermand69 Nybegynder
14. marts 2005 - 21:10 Der er 9 kommentarer og
2 løsninger

array i DELETE

kan det lade sig gøre at smide et helt array ind i en DELETE query så man ikke skal lave mange querys for at slette et antal rækker?? altså så det kan gøres i en query :)

foreach($_POST['post_id'] as $value) mysql_query("DELETE FROM $DB.post WHERE user_id2='$USERID' && id='$value'");
Avatar billede arne_v Ekspert
14. marts 2005 - 21:19 #1
Ikke umiddelbart.

Du må konstruere en DELETE med enten en WHERE med en masse OR eller en IN
Avatar billede supermand69 Nybegynder
14. marts 2005 - 21:24 #2
hvad er en IN?
Avatar billede detox Nybegynder
14. marts 2005 - 21:27 #3
Jeg vil nu mene at du godt kan gøre det som du foreslår.
Avatar billede detox Nybegynder
14. marts 2005 - 21:32 #4
Du kan bruge IN sådan her:

$in = "'" . join("','", $_POST['post_id']) . "'";
mysql_query("DELETE FROM $DB.post WHERE user_id2='$USERID' && id IN ($in)");
Avatar billede arne_v Ekspert
14. marts 2005 - 21:39 #5
Man kan ikke lave = på flere værdier.

Hvis den PHP kode der genererer:

WHERE id IN (1,2,3,4,5,6)

så virker det.
Avatar billede detox Nybegynder
14. marts 2005 - 21:54 #6
arne v -> ovenstående foreach løkke vil lave en forespørgsel pr. værdi og $in konstruktionen vil lave det sådan (hvilket jeg osse vil mene virker):

WHERE id IN ('1','2','3','4','5','6')
Avatar billede arne_v Ekspert
14. marts 2005 - 21:57 #7
Jeg forstod spørgsmålet som at det skulel være en query ikke mange queries.

'' skal naturligvisi på hvis id er en varchar eller lignende
Avatar billede detox Nybegynder
14. marts 2005 - 22:00 #8
Ja, det er vel i og for sig osse det der bliver spurgt om.
Avatar billede supermand69 Nybegynder
14. marts 2005 - 22:25 #9
tak... lav et svar begge to :)
Avatar billede arne_v Ekspert
14. marts 2005 - 22:30 #10
ok
Avatar billede detox Nybegynder
14. marts 2005 - 22:32 #11
Værsgo'
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester