Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rd111072

Loop em array vindo do banco

Recommended Posts

Com faço?

 

Estou usando este código:

 

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<%
Set conexaoDB3 = Server.CreateObject("ADODB.Connection")
	conexaoDB3.CursorLocation = 3
	conexaoDB3.ConnectionString = "driver={SQL Server}; server=xxx; uid=xxx; pwd=xxx; database=xxx"
	conexaoDB3.Open
	
%>

<%
	cod_usuario = session("cod_usuario")
	cod_tabela = "1252009092438"
	
	

sql = "select * from tab_xxx where pedido = '"&cod_tabela&"'"

set rs = conexaoDB3.execute(sql)

hidden = rs("hiddenc")


b = split(hidden,",")

v = 0
for i = 0 to ubound(b)
   if cint(b(i)) > cint(v) then
	   v = b(i)
   end if
next

response.write "maior valor: " &v


valoru = rs("valoru")

Dim sArray



Do While not rs.EOF

   sArray = sArray & rs("valoru") & ","


rs.MoveNext():Loop

sArray = Left(sArray,(Len(sArray) - 1))
'cod_tabela = rs("cod_tabela")


%>
			

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


function add(){ 
var codigo =  <%=cod_tabela%> 
var valoru =  new Array(<%= sArray %>)

var v = <%=v%>
  
for (i=1;i<=v;i++) {
	var texto = "<div id='linha"+i+"'><input type='hidden' name='texto"+i+"' id='texto"+i+"' value=''><table width='1155' border='0' cellpadding='2' cellspacing='2' bordercolor='#FFFFFF' style='font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px'><tr><td height='25' bgcolor='#CCCCCC'><div align='left'><label><input type='text' name='item"+i+"' id='item"+i+"' value='"+i+"' style='width:18px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:9px; color:#6699FF' readonly='readonly'/></label></div></td><td height='25' bgcolor='#CCCCCC'><div align='center'><input type='text' name='codigo"+i+"' id='codigo"+i+"' style='width:80px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; color:#000000; background-color:#CCCCCC; border:#CCCCCC solid 1px' value='"+codigo+"'/></div></td><td height='25' bgcolor='#CCCCCC'><div align='center'>R$<input type='text' name='valoru"+i+"' id='valoru"+i+"' onBlur='orcamentoc()' onChange='somac("+i+")' onkeyup='valorpuroc()' style='width:70px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; color:#000000; background-color:#CCCCCC; border:#CCCCCC solid 1px' value='"+valoru+"'/></div></td></div>"
	//Capturando a div principal, na qual os novos divs serão inseridos:
	var my_div = document.getElementById('my_div');   
	my_div.innerHTML = my_div.innerHTML+texto;

}
}
</script>
</head>

<body onLoad="add()">
<div id="my_div">
<input name="+" type="button" onClick="add()">
</div>
</body>
</html>

Mas o resultado sai assim (value='"+valoru+"'):

 

R$2,10

 

Ou seja os dois valores ao lado do outro.

 

é pra ficar assim:

R$2

R$10

 

Já que são duas linhas e dois inputs a ser preenchidos...

 

Alguém sabe???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verique no código se new Array(<%= sArray %>), está exibido da forma que deseja.

 

Se estiver ok, o problema é com Javascript. Nesse caso o tópico deverá ser movido para a área correta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que entendi tem que quebrar o valoru com uso do SPLIT e a partir dai fazer as acoes necessaria para deixar como precisa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao crie topicos repetidos

 

http://forum.imasters.com.br/index.php...=344231&hl=

 

Verifique o que falei no outro topico

 

Talvez precise usar o SPLIT novamente

 

Irei mesclar os dois topicos

Compartilhar este post


Link para o post
Compartilhar em outros sites

sArray está sendo impresso assim: 2,10

 

Como faço o split (como o Mário disse)?

 

Tentei mas deu erro...

 

 

 

P.S: Desculpe ter duplicado o tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

variavelRetorno = Split(sArray,",")

 

Depois você usaria assim: Ex. variavelRetorno(0), variavelRetorno(1), etc..

 

Mas em todo caso, pelo que entendi SPLIT não resolveria, pois a formatação está sendo feita usando Javascript, correto? E pelo que você disse, o array está sendo montado corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Modifiquei algumas coisas:

 

<script language="JavaScript" type="text/javascript">   
function add(){ 
var codigo =  <%=cod_tabela%> 

var i = 0;
var valoru = new Array();
valoru[i++] = <%= sArray %>;


var v = i;
  
for (i=0;i<=v;i++) {
	var texto = "<div id='linha"+i+"'><td height='25' bgcolor='#CCCCCC'><div align='center'>R$<input type='text' name='valoru"+i+"' id='valoru"+i+"' onBlur='orcamentoc()' onChange='somac("+i+")' onkeyup='valorpuroc()' style='width:70px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; color:#000000; background-color:#CCCCCC; border:#CCCCCC solid 1px' value='"+valoru[i]+"'/></div></td></div>"
	//Capturando a div principal, na qual os novos divs serão inseridos:
	var my_div = document.getElementById('my_div');   
	my_div.innerHTML = my_div.innerHTML+texto;

}
}
</script>

Agora o primeiro input está com o valo 2 (ok) e o segundo como "undefined" (errado).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.