Avatar billede Slettet bruger
06. september 2004 - 08:48 Der er 20 kommentarer og
1 løsning

html select værdi over i php

Hej.

Jeg tror jeg er ved at være noget forvirret lige nu. Jeg sidder og hekser med noget kode der skulle gemme en værdi, men jeg kan åbenbart ikke finde ud af at gøre det rigtigt.

Her er det jeg roder med:

Prioritet:&nbsp;&nbsp;<select onChange="<?php echo $row_rsIndsaet['Prioritet']; ?>" name="Prioritet" size="1">
        <option = non selected>Vælg
        <option value="<?php echo $Prioritet=1; ?>">1</option>
        <option value="<?php echo $Prioritet=2; ?>">2</option>
        <option value="<?php echo $Prioritet=3; ?>">3</option>
        <option value="<?php echo $Prioritet=4; ?>">4</option>
        <option value="<?php echo $Prioritet=5; ?>">5</option>
        </option>
        </select>


og jeg ville gerne have at $row_rsIndsaet['Prioritet']; ender med at indeholde det man vælger i select. Men hvordan dælen får jeg den til at huske hvad man har valgt ?

På forhånd tak.
Avatar billede Slettet bruger
06. september 2004 - 09:02 #1
et option-element der ser således ud

<option selected value="minVærdi">En valgmulighed</option>

er valgt, derfor skal du blot få PHP til at skrive "selected" ind i det option-element som skal være valgt. Du skal fjerne din "ydre" <option = non selected> og tilhørende </option>. De er ikke nødvendige...

Håber jeg gjorde mig forståeligt.
Avatar billede eagleeye Praktikant
06. september 2004 - 09:03 #2
Hvis du har en form med en dsubmit knap kan du få fat i den med
$_POST['Prioritet'];  hvis method=post

Eller
$_GET['Prioritet'];  hvis method=get
Avatar billede Slettet bruger
06. september 2004 - 09:03 #3
Næh :-) jeg tror ikke jeg helt forstår hvad du mener.
Avatar billede Slettet bruger
06. september 2004 - 09:05 #4
Der hvor den gemmer er det $_POST['Prioritet']; - men jeg får denne fejl med den viste kode:

Column count doesn't match value count at row 1
Avatar billede Slettet bruger
06. september 2004 - 09:07 #5
Mon en af jer lige gider lave min kode om så det passer med jeres forklaring, så tror jeg bedre jeg fatter det.
Avatar billede Slettet bruger
06. september 2004 - 09:16 #6
Har nu prøvet at fjerne <option = non selected> men det giver stadig den omtalte fejl. Og så skriver den ikke vælg i boksen, men 1.
Avatar billede Slettet bruger
06. september 2004 - 09:18 #7
Ok, jeg har lige siddet og revet mig selv i håret for at lave en løsning til dig, og må indrømme at jeg ikke sådan umiddelbart lige kan stykke noget sammen uden at afprøve det først, vide mere om din database-struktur osv.

MEN, jeg kan dog oplyse dig om hvordan jeg vil mene det er fornuftigt at konstruere denne funktionalitet.

For det første skal du trække dine data ud fra databasen af, derefter skal du vha. en løkke iterere igennem dataene, og dynamisk få den til at skrive værdierne ind i din select-boks.
Selekt-boks-strukturen skal se nogenlunde sådan her ud (udelukkende HTML, php skal tilføjes):

<form name="navnPåForm" action="DenSideValgetSkalSendesTil.php">
  <select size="1">
      <option selected value="1">Min første værdi (som er valgt)</option>
      <option value="2">Min anden værdi</option>
      <option value="3">Min tredje værdi</option>
  </select>
  <input type="submit">
</form>

Når denne form så bliver submittet bliver den sendt til den side der står i action, altså: DenSideValgetSkalSendesTil.php, denne skal så stå for at gemme den valgte værdi i databasen.

Håber det inspirerede lidt.
Avatar billede Slettet bruger
06. september 2004 - 09:20 #8
Nogle ting du ikke kan er:

onChange="<?php echo $row_rsIndsaet['Prioritet']; ?>"

onChange-eventen kan kun bruges til JavaScript (VB Script), det du skriver der giver ingen mening. Mht. at den ikke skriver "Vælg i boksen", så skal du blot indsætte en option som ser således ud:

<option>Vælg i boksen</option>

for at få dette til at komme frem.
Avatar billede Slettet bruger
06. september 2004 - 09:21 #9
Jo men formen har jeg jo. Mit problem er jo netop at få værdien over i php. Det er en større form, hvor man så skal vælge mellem 1 og 5, men jeg får ikke de data med, men derimod en fejl som jeg ikke lige kan gennemskue.
Avatar billede Slettet bruger
06. september 2004 - 09:26 #10
Databasen er en MySQL og den fungerede fint indtil jeg lagde dette på. Så det er ikke den der er noget ivejen med. Det er helt enkelt et problem for mig at få værdien over i php variablen.

Ok med det javascript :-) Det har du ret i, men det kunne jo samtidig fortælle lidt om hvad jeg ville. Jeg har fjernet det nu, men så stadig den fejl.
Avatar billede Slettet bruger
06. september 2004 - 09:34 #11
til at starte med kunne du også rette:

<?php echo $Prioritet=1; ?>

til <?php echo "1"; ?> giver nok mere mening end at sætte en variabel til en værdi, udskrive den, for derefter at sætte den til en ny værdi.
Avatar billede Slettet bruger
06. september 2004 - 09:35 #12
prøv også lige at smide den fejlmeddelelse du får, det kunne jo være man kunne gennemskue det så?
Avatar billede Slettet bruger
06. september 2004 - 09:37 #13
Nu har jeg rettet som du beskrev, og jeg får stadig den samme fejl:

Column count doesn't match value count at row 1
Avatar billede Slettet bruger
06. september 2004 - 09:38 #14
Vil denne <?php echo "1"; ?> blive fanget af $_POST['Prioritet']; i koden hvor den skal gemme værdien i databasen ?
Avatar billede Slettet bruger
06. september 2004 - 09:39 #15
er du sikker på at feltet 'Prioritet' findes i den tabel du trækker data fra i databasen, den kan jo ikke finde den kolonne (column) som der bliver forespurgt på.
Avatar billede Slettet bruger
06. september 2004 - 09:40 #16
ja, den vil den.
Avatar billede Slettet bruger
06. september 2004 - 09:50 #17
HOLDT STOP - jeg har fundet den tæller fejl. Det er pinligt, men jeg havde glemt at skrive ordet ind under value i linien hvor den skal gemme.

Takker for inspirationen. Prioritet fantet netop ikke i den ene af linierne. Det ser ud til at virke nu. Vil du lægge et svar. Og TAK.
Avatar billede Slettet bruger
06. september 2004 - 09:52 #18
Hehehe, bare helt i orden :-) Er glad for at du fandt fejlen. Takker for point.
Avatar billede Slettet bruger
06. september 2004 - 09:53 #19
Selv tak - det er ufatteligt som I kan udvise tålmodighed :-)
Avatar billede Slettet bruger
06. september 2004 - 10:00 #20
Det har nok en del med at gøre at man selv har siddet med en eller anden dum lille fejl, som på det tidspunkt man skriver spørgsmålet virker uoverskueligt at løse :-)
Avatar billede Slettet bruger
06. september 2004 - 10:31 #21
Ja det er rigtigt. Man render let panden mod muren. Nogen gange føler man at man kan søge job som julemand :-) (man bliver meget gråhåret af det).
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