Avatar billede gantz Nybegynder
22. december 2002 - 17:04 Der er 19 kommentarer og
1 løsning

spørgeskema

Hi med jer,
Hvis man har en selectboks der består af punkt 1, punkt 2, punkt 3, punkt 4 osv. hvor det er muligt at vælge flere punkter på engang, hvordan får man så lagt alle de valgte punkter ind i databasen ved et tryk på "send". Jeg har bare lavet et felt i db med datatypen "text" og så registreres der kun 1 punkt ad gangen.

noget andet er, jeg har 8 brugere der bare skal ind og tilkendegive nogle oplysninger fra den her selectbox. Hvordan sørger jeg for at f.eks. Jens kun har mulighed for at tilkendegive oplysninger for sig selv en gang. Det jeg mener er at hvis Jens har tilkendegivet sine oplysninger, Så skal databasen bare afvise alle andre der prøver at udgive sig for Jens (De 8 brugere er indført i en selectbox). Det må være noget med if og else, hvis han findes i databsen så afvises andre. Jeg skal ikke bruge noget med login til de forskellige
Avatar billede andy Nybegynder
22. december 2002 - 18:19 #1
Du kan lave din select box sådan her:
<select name="gantz[]" multiple>
<option>BLAH1</option>
<option>BLAH2</option>
</select>

Så har du alle de selectede punkter liggende i dit array $gantz
Avatar billede olebole Juniormester
22. december 2002 - 18:48 #2
<ole>

andy >> Det er ikke valid HTML-kode. Et HTML-element kan _ikke_ have '[]' i navn eller id ... det er ikke i overensstemmelse med HTML-standarden.
Jeg erkender, at multiple-select-boksen er et frygtelig dårlig konstrueret HTML-element, men that's life  :)

gantz >> Efter hvilken metode sender du formen ... 'post' eller 'get'?

/mvh
</bole>
Avatar billede gantz Nybegynder
22. december 2002 - 18:54 #3
Hi andy og olebole,
Andy hvis jeg bruger din metode og echo'er dataen ud så skriver den "array" i stedet for de valgte punkter.

olebole jeg bruger post - hvorfor?
Avatar billede olebole Juniormester
22. december 2002 - 19:00 #4
Så har du ingen mulighed for at bruge en multiple-select-boks og overholde HTML-standarden, samtidigt.

Var det ikke en mulighed for at anvende checkbokse i stedet? Det er jo ikke fikst at skulle basere sin kode på en browser-bug, som man ikke aner, hvornår bliver udryddet. Til den tid er din kode nemlig ubrugelig, hvis du bruger andy's fejlagtige kode.
/mvh
Avatar billede gantz Nybegynder
22. december 2002 - 19:04 #5
Jo det kunne da godt være at jeg skulle gøre det men jeg vil så gerne bruge selectboksene.

Har du nogen ide om hvordan jeg løser mit andet problem. Nr 2 spørgsmål
Avatar billede tipsen Nybegynder
22. december 2002 - 19:07 #6
Hvad er problemet i at bruge:

<select name="multoptions" multiple>
  <option>BLAH1</option>
  <option>BLAH2</option>
</select>

Det er vel stadig muligt at vælge flere options, som så bliver overført til "modtagersiden" ?
Avatar billede olebole Juniormester
22. december 2002 - 19:13 #7
Tjahhh ... og jeg ville gerne køre i en gammel Bugatti Royale og spise kronkalve medaljonner og drikke Mouton Rochild til, men det kan heller ikke lade sig gøre  :o)

Det andet kan du kun løse, hvis du beder brugerne om at logge sig ind.
/mvh
Avatar billede gantz Nybegynder
22. december 2002 - 19:14 #8
Problemet er at når man vælger flere punkter i selectboksen, så vises de ikke i db, kun den første der blev valgt
Avatar billede olebole Juniormester
22. december 2002 - 19:14 #9
tipsen >> nix, du kan ikke hive valgene ud i PHP ... kun den sidste valgte option er at finde.
/mvh
Avatar billede olebole Juniormester
22. december 2002 - 19:17 #10
Hvis formen bliver sendt med method="get", kan man finde de valgte options ved at eksplodere $_ENV["QUERY_STRING"] - men den går ikke ved method="post".
/mvh
Avatar billede gantz Nybegynder
22. december 2002 - 19:24 #11
olebolehvor skal den sættes ind henne
Avatar billede tipsen Nybegynder
22. december 2002 - 19:30 #12
olebole: Det giver da ikke mening - ifølge html4.01 specifikationen vil værdierne til de valgte options blive overført - er det en browserfejl eller en fejl i php?
Avatar billede olebole Juniormester
22. december 2002 - 20:33 #13
tipsen >> Ja, det er noget rigtig rod. Hvis du kalder en multiple-select for 'bla' og sender den form, den ligger i, som 'get', vild du i query-strengen se, at den skriver:
  ... side.php?bla=værdi1&bla=værdi2&bla=værdi3
og det holder jo nada. Der er ganske enkelt tale om dårlig browser-implementering  :(

gantz >> Hvis din multiple-select har name="bla" og du sender "get", kan du i PHP-script'et skrive:

$q = explode( "&", $_ENV["QUERY_STRING"] );
$q_arr = array();
for ($i=0; $i<count($q); $i++) {
    $tmp = explode( "=", $q[$i] );
    if ( $tmp[0]=="bla" ) $q_arr[] = $tmp[1];
}

# Check, hvad dit array indeholder:
var_dump( $q_arr );

Det er ikke den mest 'sexy' måde at skrive det på, men giver et nogenlunde overblik over, hvad man gør  ;o)
/mvh
Avatar billede andy Nybegynder
22. december 2002 - 22:58 #14
Ganzt> Hvis du er ligeglad med standarder så brug mit eksempel. Det virker jo :)
Avatar billede olebole Juniormester
22. december 2002 - 23:14 #15
Det virker også at køre i venstre vejbane - men hvor længe?  ;o)

Går man bare det mindste op i, hvad man laver, er man da ikke ligeglad med standarder. Det ville da være åbenlyst tåbeligt at lave ting, hvorom man ikke aner, om de virker imorgen. Er man ligeglad, undergraver man WWW og graver grøfter, man selv skvatter i på et tidspunkt - det er der rigelig med folk, der gør.

Netop i øjeblikket er der masser, der sidder og ærger sig over, de har spildt oceaner af tid og energi på at udnytte en nu rettet bug i IE. De har implementeret Microbians' Chromeless Windows i deres sider og skal nu lave hele designs om, fordi de belavede sig på en browserbug - i stedet for at skrive god, valid kode.

Om man er begavet nok til at tage ved lære af den slags fejl - og til at se det indlysende fornuftige i generelt at overholde internationale kodestandarder - er så et helt andet spørgsmål  ;o)
/mvh
Avatar billede andy Nybegynder
22. december 2002 - 23:54 #16
HAHAHA, gå lidt mere op tingene, karl smart.

Så vidt jeg ved bruger phpMyAdmin også <select name="gantz[]" multiple></select>

btw, vi snakker faktisk heller ikke om flere hundrede sider der skal ændre *HVIS* det en dag ikke virker.
Avatar billede olebole Juniormester
23. december 2002 - 00:17 #17
10.000.000.000 flies can't be wrong ........ eat shit  ;o)

At man i phpMyAdmin bruger ukorrekt kode, kan du måske se som en undskyldning for at gøre det samme - det kan jeg ikke.
Jeg laver heller ikke bevidst min kode fyldt med fejl i håb om at komme i klub med MS.

Nu ved jeg ikke, hvad du snakker om, men for mit eget vedkommende ville det være i hundredevis af sider, der skulle laves om, hvis jeg havde brugt '[]'. Kodning er ikke min hobby. Måske er det derfor, vi ikke er enige.

Bare se, hvad der skete med Netscape. De døde ikke fordi, de lavede en dårligere browser, men fordi deres browser ikke kunne vise folks elendige kode.
MS har fyldt IE med fejl-genopretningskode, der gør det muligt at skrive næsten, hvad somhelst og se en eller anden fortolkning ... bl.a. derfor vandt de 'krigen'. Dårlig kode giver os dårlige browsere.
Men vent nu og se, når dine sider skal til at vises på håndholdte, setboxes og hvad ved jeg. Det er overvejende sandsynligt, at dårlig kode ikke kan vises på den slags udstyr.

Til slut skulle du måske overveje din generelle attitude en anelse. Du virker ikke mere sikker eller dygtig ved at prøve at virke overbevisende med hånlatter og øgenavne. Det er vi mange, der blev immune overfor, før du lærte at stå op og tisse  ;o)
Faktisk virker det nærmest en smule desparat ... argumenter har det med at virke mere overbevisende.
/mvh
Avatar billede gantz Nybegynder
23. december 2002 - 10:06 #18
Olebole tak for dit bidrag det virker men også tak til Andy for interessen. Point til Olebole - hvis du lige gider at skrive et svar så du kan få dine point
Avatar billede olebole Juniormester
23. december 2002 - 10:52 #19
gantz >> Selv tak, men jeg er jo ikke rigtig aktiv på E mere (bare på lille 'Juleferie' her) og mangler ikke just points, så nap du dem bare selv.
/mvh  *<|:o)
Avatar billede gantz Nybegynder
23. december 2002 - 11:02 #20
Jammen tak for det gode julehumør. Jeg synes at du skulle smutte forbi Eksperten lidt oftere ;) god jul til jer alle.
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