Avatar billede xirb Nybegynder
18. marts 2003 - 15:07 Der er 5 kommentarer og
1 løsning

Indsættelse af manuelt sorterede værdier fra formular i tabel

Hej!

Jeg er ved at lave en side, hvor brugeren skal kunne vælge rækkefølgen af nogle menupunkter.
Denne rækkefølge skal så gemmes som værdier i en tabel i MySQL-DB (så de sidenhen kan bruges til at sortere udtrækket fra tabellen).
Altså så det punkt, der skal stå øverst får værdien 1, det næste punkt får værdien 2 og så fremdeles.

Jeg har fundet et javascript, der kan bruges til at angive rækkefølgen af punkterne.
Javascriptet gemmer rækkefølgen af punkterne i en variabel så vidt jeg kan se.. men nu er mit problem, hvordan jeg får indsat de korrekte værdier i tabellen..

(Fx vha. en løkke af denne slags sætninger:
mysql_query("update kategorier set sortering = '".$nummer."' where id = '".$kategori."'");
- hvilket også kræver, at man kan få fat i de enkelte værdier (for rækkefælgen) én ad gangen sammen med ID'et for den pågældende menupunkt.)


Se koden her: http://www.daimi.au.dk/~xirb/sortering.phps
(Hvis du vil se og teste selve formularen, så klik her - ignorer bare fejlene: http://www.daimi.au.dk/~xirb/sortering.php )

Tak på forhånd for alt hjælp!
Avatar billede hobz Nybegynder
19. marts 2003 - 17:19 #1
Denne måde virker:

http://www.phoeniks.dk/sortering.php

Variablen hedder $dest er identisk med din alert-variable.
Så husk altså, at explode() $dest.
Avatar billede hobz Nybegynder
19. marts 2003 - 17:19 #2
det var et svar :)
Avatar billede xirb Nybegynder
19. marts 2003 - 17:47 #3
Mange tak for budet!

Jeg beklager dog, at min forklaring nok er lidt for dårlig, så det kan være svært at se, hvad jeg egentlig spørger efter.. :)
Det var nemlig ikke selve det med at overføre variablen fra form'en til PHP, der var mit problem.
Men til gengæld siger du noget langt mere interessant bare som en sidebemærkning: husk altså, at explode()
- Det er lige dét, der er mit problem! :)
Nu kendte jeg ikke explode() før du nævnte det, men selvom jeg nu har læst lidt på den, er jeg stadig i vildrede over, hvordan jeg kan skrive en funktion, der kan tage variablen og sætte værdierne ind i den rigtige rækkefølge.

for ($nummer = 1, $nummer++, $nummer < antallet_af_kategorier_i_variblen) {
  mysql_query("UPDATE kategorier set Nummer_i_rækken = '$nummer'
  WHERE Navn='$kategoriens_navn_fra_variabel'"));
}


(Måske skyldes mit problem (efter at have fået kendskab til explode) bare min store manglende forståelse for håndteringen arrays..)
Avatar billede hobz Nybegynder
19. marts 2003 - 18:27 #4
Okay så drop det jeg har lavet.
Hvis jeg har forstået dig kan explode(), i dit tilfælde, bruges således:

$array = explode("|", $dest);
foreach( $array as $key => $value )
{
    echo $value;
}
Avatar billede xirb Nybegynder
19. marts 2003 - 19:25 #5
Det må jeg sige - lige præcis!
Tak for hjælpen. :)

Og så også et tak for dit første eksempel, der viste sig at været ret nyttigt, - det var faktisk mere kompliceret end lige anet at overføre variablen til PHP!

Er der i øvrigt nogen særlig grund til, at " $key => " er medtaget?
Avatar billede hobz Nybegynder
23. marts 2003 - 20:48 #6
Ja. Så vidt jeg ved, kan man ikke extrace value'en uden først at extracte key'en i et array.
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