Jeg har en funktion hvor brugeren kan tilmelde sig til den givne begivenhed. Der er 26 dage de kan tilmelde sig. Dag 1 = 0 og dag 26 = 25.
Jeg vil så ud fra det lave en edit funktion så de kan rette i deres tilmelding, derfor skal jeg have markeret mine checkboxes, og det er der mit problem opstår. Jeg skal nu have lavet et array ell. lign. der finder samtlige bitværdier for tallene fra 0 til 25, og tjekke om de er i den samlede værdi jeg hiver ud fra databasen.
Jamen, der findes kun to bitværdier - 0 og 1. Hvad har du i din database (bare et eksempel) og hvad har du og sammenligne med. Og hvilket resultat får du ud af det (boolean, et tal, noget tredje) og hvornår skal den give hvilket resultat?
Det starter med at blive sat en masse værdier ind lagt sammen i databasen. Fra 0-25, og jeg skal nu have trukket dem ud af databasen igen, og se om tallet er indeholdt i mit udtræk. - Dette skal køres igennem med alle værdier fra 0-25 :)
Som jeg forstår det kan de tilmelde sig flere dage, og dette vil være repræsenteret i samme række - du må give et eksempel på din værdi i det tilfælde, for så kan det ikke være som coderdk og kinderaeg lidt tænker. (er 00011 1 og 2, eller 3 for sig selv?)
Okay.. Jeg skal f.eks. finde ud af om værdien for 25 er i 7680 - og hvis den er det, så skal jeg have sat min checkbox med navn="Period25" til checked.. Håber det er lidt letteret forståeligt nu :)
Nej, det er ikke lettere forståeligt, for vi ved stadig ikke hvordan dit tal er blevet genereret. Giv et eksempel på en værdi og de dage det skal svare til - kan du ikke det, så er det ikke sådan lige til at gætte hvad du skal bruge.
I øvrigt var det måske en ide at overveje en anden datastruktur hvor du netop ikke skal til at manipulere med et tal - det vil måske fylde lidt mere rent datamæssigt, men det vil være noget nemmere at navigere rundt i.
Lige en mere uddybende forklaring: Vi kan såmænd godt komme med et kvalificeret bud - jeg tror endda jeg har regnet den ud - men hvis du ikke selv ved hvordan tallet er genereret, så kan du vel heller ikke vide om vi har ret, og i stedet for at vi måske skal spilde tid på at lave løsninger der ikke fungerer i sidste ende, så er det bedre du giver os et konkret eksempel hvor vi får at vide hvad der er hvad. Sålænge der er et eller andet system, så skulle vi nok kunne fylde hullerne ud.
Jeg har desværre ikke mulighed for at rode med selve strukturen..
Tallet bliver lavet ud fra en række checkboxes, hvor værdien fra hver enkelt boks bliver lavet om, og så lagt sammen til sidst. Jeg er nu ved at lave en funktion hvor man kan redigere i hvilke checkboxes der skal være valgt. Derfor er jeg nødt til at regne tilbage igen.
Mine bokse hedder fra Period0 til Period25 - Jeg skal nu have lavet et loop der tjekker om værdien fra hvert enkelt boks er i mine data (i dette tilfælde 67108863), og hvis de er, så skal boksene være checked.
Her er min funktion der omregner fra min input form:
Nej, ikke helt.. Jeg er over i bitwise operators (Overskriften er desværre lidt misvisende :)) - Læs mit forrige indlæg, så kan det være det er lidt nemmere at forstå :)
Jep, lige til en start vil jeg teste på et tal med alle bokse tjekket af :) - Jeg er slet ikke nede på binært niveau, er ikke sikker på du forstår mig..
Jeg roder med bitwise operators (Har jeg fundet ud af) - og der er det endelige tal i min databse 67108863, og det skal jo så splittes op og laves om til 0-25, alt efter hvilke værdier der eksistere :)
For det første, så er 67108863 svarende til 26 bits, for det andet skal du så i stedet for at bruge fx 25 til at tjekke med, anvende 2^(25-1), for at tjekke om den 25. bit er sat, hvilket må være det du ønsker, som barklund også skriver.
Det var scriptet der klarede det for mig :) - ud over det har jeg selvfølgelig en variabel i checkboksen der hedder $checked[$perioddays] og $checked2[$tentdays]
Jeg siger tusind tak for hjælpen! - Hvis i lige smider et svar, skal jeg sørge for at dele pointene mellem jer :)
@barklund Det har du helt ret i, men det er måske ikke så nemt at forstå, hvis man ikke ved hvordan det fungerer. Mit eksempel var for at overskueliggøre hvordan sammenhængen er ;)
@asn24 Smid bare pointene efter barklund, det er trods alt ham der har lavet det meste af benarbejdet ;)
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.