Avatar billede jakobdo Ekspert
14. april 2004 - 09:27 Der er 7 kommentarer og
1 løsning

Multiple Insert Into.

Jeg forsøger at lave følgende:

foreach ($_POST['MaalScore'] as $v)
{
mysql_query("INSERT INTO topscorer VALUES ('','$v','$kampid')");
}

Kan jeg ikke lave dette i et kald?
Avatar billede dennismp Nybegynder
14. april 2004 - 09:37 #1
$insertVals = array();
foreach ($_POST['MaalScore'] as $v)
{
  $insertVals[] = "('','$v','$kampid')";
}

if( count($insertVals) > 0 ) {
  mysql_query("INSERT INTO topscorer(felt1,felt2,felt3) " . join(',',$insertVals));
}
Avatar billede dennismp Nybegynder
14. april 2004 - 09:38 #2
Syntaxmæssigt:

INSERT INTO tabel (kolonne1,2,3) VALUES (1,3,2),(1,5,3)...

Så der er en fejl i min kode :)

mysql_query("INSERT INTO topscorer(felt1,felt2,felt3) VALUES " . join(',',$insertVals));
Avatar billede jakobdo Ekspert
14. april 2004 - 09:45 #3
Præcis. Så jeg skal på en eller anden måde, have splittet op til:
$_POST['MaalScore']
til:

('',værdi1,kampid), ('',værdi2,kampid), osv...
Avatar billede dennismp Nybegynder
14. april 2004 - 10:07 #4
Det troede jeg også jeg havde gjort med:

foreach ($_POST['MaalScore'] as $v){
  $insertVals[] = "('','$v','$kampid')";
}

kommer self. an på hvordan din MaalScore-array ser ud..
Avatar billede jakobdo Ekspert
14. april 2004 - 10:16 #5
Ok, men jeg kan jo ikke bruge join / eller implode??
Den vil jo også splitte på"('','$v','$kampid')"; kommaerne immellem '' $v osv..?
Eller tager jeg helt fejl?
Avatar billede jakobdo Ekspert
14. april 2004 - 10:24 #6
Perfekt!
Det virker fint nok! :o)
Smider du et svar? :o)
Avatar billede dennismp Nybegynder
14. april 2004 - 10:28 #7
Splitte?

join(',',$insertVals) samler et array med komma mellem. Og da dit array ser sådan ud efter while:
('','$v','$kampid').
('','$v','$kampid').

så vil join samle dem så;
('','$v','$kampid'),('','$v','$kampid')

og det er jo det vi ønsker(?). ($v og $kampid bliver selv. ersttatet med indholdet af variablerne)
Avatar billede dennismp Nybegynder
14. april 2004 - 10:29 #8
jeg er vist for langsom idag :)

herligt
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