06. juli 2012 - 21:05Der er
21 kommentarer og 1 løsning
tage antal af kategorier til dropdown
Hej alle!
Jeg skal have fundet ud af hvilken måde at man nemmeste gør dette på. Det jeg skal bruge hjælp til er, at jeg har en liste med kategorier, og dem skal man kunne give et nummer, så at 1 er den første, 2 den anden ovs - således at man kan bestemme rækkefølgen af dem.
Det skal selvfølgelig gøres i en dropdown - det jeg så vil vide er, når jeg nu ved at der f.eks. er 20 kategorier, hvordan gør jeg det så nemmest at der i dropdown menuen vises tallene fra 1 til 20 fx?
Det er bygget op i PHP Jeg har en tabel med nogle kategorier fx:
Sol Sommer Vand Strand
Dem skal jeg så kunne give en rækkefølge ved at jeg har en dropdown ved hver kategori. Nu er der jo 4 kategorier, derfor skal der i dropdown være nr: 1 2 3 4
fordi der er 4 kategorier. Det er det jeg vil vide hvordan man nemmest gør at der er samme antal <option></option> som der er af kategorier.
Ved hver kategori, er der en drop down med det antal numre som det er kategorier. På billedet er der 6 kategorier, derfor skal der i hver dropdown være numrene: 1 2 3 4 5 6
Hvis der f.eks. var 20 kategorier, skulle der være fra nr 1-20 i hver drop down. Så der skal være det antal options i hver dropdown som der er kategorier.
Det skal bruges så man kan bestemme rækkefølgen på kategorierne.
switch (RegExp.$1) { case "up": if (elmPar.previousSibling) elmPar.parentNode.insertBefore(elmPar, elmPar.previousSibling); break; case "down": if (elmPar.nextSibling.nextSibling) elmPar.parentNode.insertBefore(elmPar, elmPar.nextSibling.nextSibling); break; case "edit": alert("Edit: "+sId); break; case "delete": alert("Delete: "+sId); break; } } function saveOrder(elmForm) { var a = [], aLI = elmForm.getElementsByTagName('li'); for (var i=0,j=aLI.length; i<j; i++) a[i] = aLI[i].getAttribute("id"); elmForm.showlist.value = a.join(","); } </script> </head> <body>
Det kræver to nye ikoner: en pil op og en pil ned.
Bemærk den lidt sjove måde, jeg har skrevet LI elementerne på. For at holde DOM-koden simpel, må der ikke være white-space mellem LI elementerne. Da du formodentlig udskriver posterne dynamisk, burde dette ikke være et problem
- og man kunne også lave en drag/drop løsning, men det bliver en del mere kompliceret. Hvis du har lyst til at skrive det selv, skal du dog være mere end velkommen =)
Og det fungerer, men jeg har jo selv tilføjet array nr 0-5 - og hvis jeg nu opretter en ny kategori, således at der er 7 i stedet for 6 skal jeg jo selv manuelt gå ind og tilføje $order[6] - er der en måde at den kan gøre det automatisk, hvis man ved hvor mange kategorier man har?
Eftersom min kode ser således ud, er det også lidt svært at implementere dit system desværre, det vil kræve at jeg laver det hele om, hvilket jeg ikke har tid til - det var derfor at jeg søgte den anden løsning, der vil være nemt at implementere.
$kategorier = mysql_query("SELECT * FROM lh_kategori WHERE katid='' ORDER BY navn") or die(mysql_error()); while($w = mysql_fetch_assoc($kategorier)){ $navn = $w[navn]; $id = $w[Id];
Det kan godt være, du ikke mener at have tid til at skrive god kode, men jeg vil ikke undlade at pointere det uhensigtsmæssige i at spilde sit liv på dårlig kode =)
Ole, nu må du tage dig sammen - jeg gider ikke tage den diskussion igen, og man burde tro at af en voksen at være, at du bare lod det ligge. Bare fordi jeg vælger en anden løsning og koder lidt anderledes en måske du, betyder det da ikke det er dårligt kode! Du får ikke noget ud af livet ved kun at rakke ned på folk.
Fremover, vil jeg gerne bede dig om, at hvis du har en løsning på problemet så hjælp gerne, ellers bliv ude af samtalen!
Hvorfår gå så meget op i hvad andre gør - bare hjælp, så kan du være ligeglad med resten.
Sorry, jeg fik lagt denne kommentar i en anden tråd, end jeg troede =)
Sammenlign endelig ikke dette med den diskussion, vi før har haft. I den forrige tråd var du jo fuldstændig i hegnet ... men det er da fint, du om ikke andet fik en mulighed for at komme af med lidt af pigesurheden *o)
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.