I en meny jag bygger kommer flera olika nivåer användas. Huvudnivå, undernivå 1, undernivå 2 osv. De kommer finnas i en accessdatabas och hämtas från ett fält som heter "level". När level = 1 är det på huvudnivån. Level 2 är undernivå 1, Level 3 är undernivå 2 osv.
När man kommit upp till Level 3 och högre vill jag lägga till en bild, blank.gif. Dock vill jag öka utrymmet för varje level högre än 3. Jag kan tänka mig att man antingen lägger till ytterligare en bild för varje högre level, eller ökar bildens storlek för varje ökande level - eller enklare uttryckt - vid level 3 är koden utskriven så här
"blank.gif" - "Menytext"
Level 4 blir
"blank.gif" - "blank.gif" - "Menytext"
Enklast kanske är att göra bilden större? Den kommer vara transparant och bara funka som placeholder i alla fall så det gör inget att bilden blir bredare. - Men hur skriver jag den koden? Själva matematiken bakom förstår jag
Om Level > 3 så skriv ut följande: "img src="blank.gif" width="bildens orginalstorlek X (Level MINUS 2)"
Jo, fast måste jag inte då skriva in vad varje undernivå specifikt skall innehålla? vill att det skall vara möjligt att ha 100 undermenynivåer om man nu nån gång skulle få för sig en sån galen idé
dim lRepeat
lRepeat = RecSet("underniva") - 2
If lRepeat>0 Then
Response.Write(String(lRepeat,"<img border=""0"" src=""images/submeny.gif"" width=""7"" height=""8">""))
End If
Otestad men den borde skriva ut img elementet så många gånger den behöver, 3 => 1 gång, 4 => 2 ggr osv.
redigerad, nej String() är tecken, inte ord. noshornin är inte helt fel lösning.
Annars om du måste ha en bild för varje nivå du kör, kör en for sats:
dim lRepeat
lRepeat = RecSet("underniva") - 2
If lRepeat > 0 Then
For i = 0 To lRepeat
Response.Write("<img border=""0"" src=""images/submeny.gif"" width=""7"" height=""8">"")
Next
End If