Avatar billede xaque Nybegynder
28. januar 2006 - 04:42 Der er 12 kommentarer og
1 løsning

multi select jeg ikke kan få til at virke

multi select jeg ikke kan få til at virke om det er fordi klokken er mange eller om jeg bare har gloet mig blind på det ved jeg ikke men lige den lille stump kode

foreach ($HTTP_POST_VARS['sexinteresse'] as $value) {
$interesse = $value;

$sql = mysql_query("INSERT INTO test (interesse, tekst, mig)
        VALUES('$interesse', '$tekst', '$mig')");

}

den tager x antal selected valg muligheder og så skal den oprete en tabel hvor alle valgene kommer ind i interesse

men nu opretter den feks

id10 - camping - tekst - mig
id11 - fiske  - tekst - mig
id12 - laks    - tekst - mig

men jeg vil have det sådan her

id10 - camping, fiske, laks, - tekst - mig

hvordan får jeg lavet min mysql sådan?
Avatar billede Slettet bruger
28. januar 2006 - 05:45 #1
Hvad er det, du vil have? Vil du have det hele i én række som: "id10", "camping - fiske", "lakst - tekst - mig"?
Avatar billede erikjacobsen Ekspert
28. januar 2006 - 07:40 #2
Du kan vel

$interesse="";
foreach ($HTTP_POST_VARS['sexinteresse'] as $value) {
  $interesse .= "$value, ";
}
$sql = mysql_query("INSERT INTO test (interesse, tekst, mig)
        VALUES('$interesse', '$tekst', '$mig')");


Der kommer så et komma for meget. Det kan vi fjerne hvis det her ligner det du vil have.
Avatar billede nielle Nybegynder
28. januar 2006 - 09:17 #3
$interesse = implode(", ", $HTTP_POST_VARS['sexinteresse']);
$sql = mysql_query("INSERT INTO test (interesse, tekst, mig) VALUES ('$interesse', '$tekst', '$mig')");
Avatar billede xaque Nybegynder
28. januar 2006 - 11:20 #4
erikjacobsen ja det er lige sådan den skal gøre :) tak kan du hjlpe mig med hvordan jeg fjerner det ekstra komma?
Avatar billede xaque Nybegynder
28. januar 2006 - 11:56 #5
bare kom med svar har fået det til at virke
Avatar billede nielle Nybegynder
28. januar 2006 - 12:13 #6
Løsningen til dit spørgsmål (28/01-2006 11:20:50) er at man simpelthen lader være med at indsætte ,-tegnene før at de er nødvendige.

Det gøres sådan her:

$interesse = "";
foreach ($HTTP_POST_VARS['sexinteresse'] as $value)
{
    if ($interesse != "") $interesse . ", ";
    $interesse .= "$value, ";
}

Hele denne kodeblok er for så vidt helt ok, men der findes en hurtigere måde at gøre det på, nemlig ved at bruge funtionen implode(). Bruger man denne, kan disse 5 linjer kompaktes til:

$interesse = implode(", ", $HTTP_POST_VARS['sexinteresse']);

Læs mere om implode()-funktionen her:

http://dk.php.net/implode
Avatar billede nielle Nybegynder
28. januar 2006 - 12:19 #7
Skulle selvfølgeligt have været:

if ($interesse != "") $interesse .= ", ";
Avatar billede erikjacobsen Ekspert
28. januar 2006 - 12:23 #8
Jeg samler ikke på point, tak.
Avatar billede xaque Nybegynder
28. januar 2006 - 12:25 #9
det kan jeg godt se den gør det samme så kom med svar syndes i skal dele pointene
Avatar billede xaque Nybegynder
28. januar 2006 - 12:26 #10
oki men tak for din hjælp nielle kan smide et svar og få pointene
Avatar billede nielle Nybegynder
28. januar 2006 - 12:33 #11
Nej tak til point på denne her. Du havde jo allerede valgt erikjacobsen's løsning, og jeg kan sagtens undvære (og det var i hvert fald ikke for pointenes skyld at jeg uddybede min oprindelige post). Men ellers tak for tilbudet. :^)

Smid du selv et svar, og tag dine points tilbage.
Avatar billede xaque Nybegynder
28. januar 2006 - 12:48 #12
jamen så siger jeg da tusind tak for jeres svar de var perfekte :)
Avatar billede nielle Nybegynder
28. januar 2006 - 12:51 #13
Det er altid rart at få at vide at folk er glade for hjælpen. Så, selv tak. :^)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel