Just nu i M3-nätverket
Jump to content

Siffror i arrayer?


Vickan7

Recommended Posts

Hur gör jag för att kunna lagra siffror i arrayer? Som det är nu blir det bara en siffra på varje post, men jag vill ju lagra större tal än 9. :-)

 

[log]

<script language="JavaScript" type="text/javascript">
//<!--

var arrPlanering = new Array(10);
arrPlanering[0] = new Array(); //"proj_id,akt_id,resurs_id";

<%	
plan_lopnr = 1
For i= 1 to 1500 step 100
response.write "arrPlanering[" & plan_lopnr & "] = '" & i & "," & (i+2000) & "," & i & "';" & vbcr
plan_lopnr = plan_lopnr +1
Next		

%>


for (i in arrPlanering) {
     document.write("ny rad <BR>");
     for (j in arrPlanering[i]) {
 	document.write("ny post <BR>");
              document.write(arrPlanering[i][j]+"<BR>");
      }
}

//-->
</script>

[/log]

 

Link to comment
Share on other sites

Förstår inte riktigt hur du menar. Utelämna asp-koden så länge och förklara enbart hur du vill ha det i Javascript. Är det kanske en array av arrayer du är ute efter?

 

Link to comment
Share on other sites

Egentligen är jag ute efter att lagra ett recordset från en databas, som innehåller 1, 2 eller 3 id-nummer på varje rad. Vissa poster kan alltså vara tomma, men den första posten i varje rad innehåller alltid ett id-nummer.

 

När jag skapar matrisen och skriver ut den verkar det som att varje siffra lagras var för sig. Tex lagras 1606 som 1, 6, 0, 6.

 

 

Link to comment
Share on other sites

Med den metod du använt ovan skapas det arrayer enligt:

arrPlanering[2] = '101,2101,101';

Var det inte så du ville ha det?

 

Men jag föreslår att du som sagt använder arrayer av arrayer (aka en matris), där du skapar varje post enligt:

arrPlanering[0]=new Array(100,200,300);

 

Link to comment
Share on other sites

När jag gör så som jag har gjort skriver koden bara ut en siffra/ rad.

 

Grejen är ju den att jag inte vet vilka siffror som ska in i arrayen/matrisen, eftersom de hämtas i en db.

 

Så här ser koden ut:

var arrPlanering = new Array();
arrPlanering[0] = new Array(); //"proj_id,akt_id,resurs_id";

<%	
SQL = "SELECT tbl_planerad_tid.proj_id, tbl_planerad_tid.akt_id, tbl_planerad_tid.anvandare_id FROM tbl_planerad_tid LEFT JOIN tbl_projekt ON tbl_planerad_tid.proj_id ="&_
" tbl_projekt.projekt_id WHERE tbl_projekt.bolag_id=" & my_bolag_id & " GROUP BY tbl_planerad_tid.proj_id, tbl_planerad_tid.akt_id, tbl_planerad_tid.anvandare_id "&_
"ORDER BY proj_id, akt_id, anvandare_id"

SET rs_proj = Conn.Execute(SQL)


plan_lopnr = 1
Do While Not rs_proj.EOF

  if rs_proj("proj_id") <> "" then 	
       response.write "arrPlanering[" & plan_lopnr & "] = '" & rs_proj("proj_id") & "," & rs_proj("akt_id") & "," & rs_proj("anvandare_id") & "';" & vbcr
       plan_lopnr = plan_lopnr +1
   end if
   rs_proj.MoveNext
Loop

rs_proj.close
Set rs_proj = Nothing
%>

 

Link to comment
Share on other sites

När jag gör så som jag har gjort skriver koden bara ut en siffra/ rad.

Förstår fortfarande inte vad du menar. Kan du ta en dump av den javascript som ovanstående kod genererar och klistra in den här och bifoga den skapade länken:

 

http://www.rafb.net/paste/

 

 

Link to comment
Share on other sites

Konstigt... När jag kollar i källkoden verkar rätt saker sparas i arrayerna, det är utskriften som är konstig och bara skriver ut ett tecken.

 

Nåja, det är innehållet som räknas! :-)

Tack för att du försöker hjälpa mig!

 

Link to comment
Share on other sites

det är utskriften som är konstig och bara skriver ut ett tecken.

Jaha, den delen av scriptet tittade jag inte ens på.

 

Det du försöker göra i den inre loopen fungerar inte som du vill, eftersom varje element bara innehåller en kommaseparerat sträng, som räknas som ett singulärt värde. Använd matriser som jag sade istället, testa med följande omskrivning av ditt första exempel:

 

plan_lopnr = 1
For i= 1 to 1500 step 100
response.write "arrPlanering[" & plan_lopnr & "] = new Array(" & i & "," & (i+2000) & "," & i & ");" & vbcr
plan_lopnr = plan_lopnr +1
Next

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...