CalevanMedlem sedan maj 20031 133 inlägg
Jag har en databas vars alla värden jag vill läsa in i er array precis så som arrRecSet = RecSet.GetRows() hade fixat åt mig. MEN (och det är ett stort men), om näst första värdet i varje rad är "fel" (se nedan) så ska INTE de raden in i arrayen. Alternativt så läser jag in hela med getrows och tar bort de som är "fel".
hur vet jag vilka som är fel då? jo, värdet som står där, ska in i en funktion där det gämförs med värdet på en session och så spottar funktionen ut om värdet var rätt eller fel.
Någon som har en anning hur jag ska angripa det här, för jag lyckas då sannerligen inte med mina försök!
tack!
solbulleMedlem sedan mars 20014 998 inlägg
Finns det ingen möjlighet att slippa dessa värden redan i sql-frågan?
CalevanMedlem sedan maj 20031 133 inlägg
nej, det tror jag inte, har ställt massa frågor om det innan och det är ingen som lyckats få till en sql sats med ett anrop till en funktion i. Det har oxå varit VÄLDIGT svårt att få folk att förstå vad det igentligen är jag vill göra, och de flesta ger svar så som du just gjorde. Men jag lovar att posta hela koden när jag väll har fått det att fungera på ett eller annat sätt, kanske går den då att optimera!
CalevanMedlem sedan maj 20031 133 inlägg
Nu har jag gjort en egen kodning på detta. Den funkar, men är inte så snygg. Den är ett ganska bra bevis på min tankegång, men inte så optimal kod... kan någon optimera, varsågod!
Set Connect = Server.CreateObject("ADODB.Connection")
Connection("fotoarkivet")
SQL = "SELECT * FROM kommentar ORDER BY id DESC"
Set RecSet = Server.CreateObject("ADODB.RecordSet")
RecSet.Open SQL, Connect, 3
antal = RecSet.RecordCount-1
Dim arrRecSet
Redim arrRecSet(RecSet.Fields.Count-1, antal)
j = 0
DO UNTIL RecSet.EOF
IF behorighet(Session("UserId"),RecSet(1)) = "TRUE" THEN
For i = 0 to RecSet.Fields.Count-1
arrRecSet(i,j) = RecSet(i)
Next
j = j + 1
ELSE
antal = antal - 1
Redim Preserve arrRecSet(RecSet.Fields.Count-1, antal)
END IF
RecSet.MoveNext
LOOP
RecSet.Close : Set RecSet = Nothing
Connect.Close : Set Connect = Nothing
efter detta skriver använder jag mig av ett pagingskript. det kollar ju hur arrayen ser ut när de bestämmer hur många den ska dela upp utskrifterna på... därav att det
solbulleMedlem sedan mars 20014 998 inlägg
Inte för att jag är särskilt bra på detta, men jag förstår inte varför det inte skulle kunna gå bra med en sqlsats typ:
SQL = "SELECT * FROM kommentar where UserId = " & Session("UserId") & " ORDER BY id DESC"
För det är väl typ det som din funktion gör? (Efter att ha läst tidigare trådar.)
Med risk för att trampa dig på tårna.
Att du använder paging har ju ingenting med det hela att göra.
PeeerMedlem sedan mars 20025 362 inlägg
Vad gör funktionen behorighet()? Lite kod skulle inte skada.
solbulleMedlem sedan mars 20014 998 inlägg
CalevanMedlem sedan maj 20031 133 inlägg
solbulle skrev:
Inte för att jag är särskilt bra på detta, men jag förstår inte varför det inte skulle kunna gå bra med en sqlsats typ:
SQL = "SELECT * FROM kommentar where UserId = " & Session("UserId") & " ORDER BY id DESC"
För att det inte beror på UserId om man ska få se bilderna eller inte. Det beror på behörigheten som lagras i databasen, samt värdet på en annan session. Dessa måste gämföras. Och det är inte alltid så att om de är lika så får man se. Ibland så kan ett värde på sessionen ge en rättigheter till att se flera olika bildkatergorier med olika behörighet.
solbulle skrev:
Att du använder paging har ju ingenting med det hela att göra.
det enda som det gör är att jag måste se till att den arrayen som går till pagingskriptet innehåller rätt saker. Tidigare innehöll den all info, och så gjorde jag behörighetskollen senare i pagingskriptet. Detta gjorde att det blev tomma luckor där man inte fick se bilderna och hela sidor i "pagingen" var tomma... inte så bra.
solbulle skrev:
Med risk för att trampa dig på tårna.
Det är bara att trampa på tårna så mycket ni vill, utan den hjälpen jag har fått hade jag inte kommit långt!
CalevanMedlem sedan maj 20031 133 inlägg
Peeer skrev:
Vad gör funktionen behorighet()? Lite kod skulle inte skada.
solbulle gav en länk till koden. Anledningen till att ni inte fick den koden var för att det brukar bara röra till det för dem som försöker hjälpa mig. Se även tidigare trådar.
Om någon vill så får ni se ALL min kod, men det är inget jag rekommenderar för det skulle nog ta VÄLDIGT lång tid... och den är nog ganska dåligt skriven.