Foros del Web » Programando para Internet » ASP Clásico »

consultas a base de datos en bucle for

Estas en el tema de consultas a base de datos en bucle for en el foro de ASP Clásico en Foros del Web. Este es el código generado: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < div style = "position:relative;z-index:10;width:600px;padding:10px;" id = "mostrarprecios" name = "mostrarprecios" >     ...
  #1 (permalink)  
Antiguo 04/07/2013, 12:11
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
consultas a base de datos en bucle for

Este es el código generado:

Código HTML:
Ver original
  1. <div style="position:relative;z-index:10;width:600px;padding:10px;" id="mostrarprecios" name="mostrarprecios">
  2.  
  3.  <div class="contabla">
  4.   <div class="confila">
  5.    <div class="concelda anchoc">Codigo</div>
  6.    <div class="concelda anchod">Descripción</div>
  7.    <div class="concelda anchop">Precio</div>
  8.    <div class="concelda anchou">Unidad</div>
  9.    <div class="concelda anchoi">&nbsp;</div>
  10.    <div class="concelda anchoa">&nbsp;</div>
  11.  </div>
  12. </div> 
  13.  
  14.  <div class="contabla">
  15.   <div style="background-color: rgb(245, 245, 245);" class="confila" id="9517" onmouseover="javascript:color(this.id,1);" onmouseout="javascript:color(this.id,2);">
  16.    <div class="concelda anchoc">D35AC010</div>
  17.    <div class="concelda anchod">PINTURA PLÁSTICA COLOR</div>
  18.    <div class="concelda anchop">5,38</div>
  19.    <div class="concelda anchou"></div>
  20.    <div class="concelda anchoi">
  21.     <a href="#" onclick="javascript:abrei('ainfo0','aimage0');"><img id="aimage0" src="images/precios/subir.png"></a>
  22.    </div>
  23.    <div class="concelda anchoa">
  24.     <a href="#" onclick="javascript:agregarPartida('D35AC010','PINTURA PLÁSTICA COLOR','5,38','m²');"><img id="apartida0" src="precios/apartida.png"></a>
  25.    </div>
  26.   </div>
  27.  
  28. </div>
  29.  
  30. <div style="display: table-row;" class="ainfo" id="ainfo0">
  31.  
  32.   <a class="derecha" href="#" onclick="javascript:var capaio = document.getElementById('ainfo0');capaio.style.display = 'none';document.getElementById('aimage0').src = 'images/precios/bajar.png';"><img id="aimage0" src="images/precios/cerrar.png"></a>
  33.  
  34.   <span>m². Pintura plástica color lisa PROCOLOR mix o similar en paramentos verticales y horizontales, lavable dos manos, i/lijado y emplastecido.</span>
  35. <br>
  36.  
  37. <div class="contabla">
  38.   <div class="confila">
  39.     <div class="concelda">Elemento</div>
  40.     <div class="concelda">Cantidad</div>
  41.     <div class="concelda">Unidad</div>
  42.     <div class="concelda">Concepto</div>
  43.     <div class="concelda">Precio</div>
  44.     <div class="concelda">Importe</div>
  45.   </div>
  46.   <div class="confila">
  47.     <div class="concelda">U01FZ101</div>
  48.     <div class="concelda">0,06</div>
  49.     <div class="concelda">h</div>
  50.     <div class="concelda">Oficial 1ª pintor</div>
  51.     <div class="concelda">0,00</div>
  52.     <div class="concelda">0,00</div>
  53.   </div>
  54.   <div class="confila">
  55.     <div class="concelda">U01FZ105</div>
  56.     <div class="concelda">0,06</div>
  57.     <div class="concelda">h</div>
  58.     <div class="concelda">Ayudante pintor</div>
  59.     <div class="concelda">0,00</div>
  60.     <div class="concelda">0,00</div>
  61.   </div>
  62.   <div class="confila">
  63.      <div class="concelda">U36CA001</div>
  64.      <div class="concelda">0,50</div>
  65.      <div class="concelda">kg</div>
  66.      <div class="concelda">Pintura plástica mate color Bruguer</div>
  67.      <div class="concelda">0,00</div>
  68.      <div class="concelda">0,00</div>
  69.   </div>
  70.   <div class="confila">
  71.     <div class="concelda">%CI</div>
  72.     <div class="concelda">0,07</div>
  73.     <div class="concelda">%</div>
  74.     <div class="concelda">Costes indirectos..(s/total)</div>
  75.     <div class="concelda">0,00</div>
  76.     <div class="concelda">0,00</div>
  77.   </div>
  78. </div>
  79.  
  80. </div>


con este codigo asp utilizando javascript:

Código ASP:
Ver original
  1. var consulta  = "select TOP 20 c.clave, c.codigo, c.unidad, c.resumen, c.precio, c.fecha, c.tipo, t.texto ";
  2.             consulta += "from precioc AS c INNER JOIN preciot AS t ON c.codigo = t.codigo ";
  3.             consulta += "where c.codigo LIKE \'D_______\' ";
  4.             consulta += "and c.resumen LIKE \'%" + vcolu + "%\' ";
  5.             consulta += "COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI ";
  6.             consulta += "order by c.codigo, c.resumen ASC"
  7.            
  8.         consulSE();             // Ejecutamos la CONSULTA.                                                      //
  9.        
  10.         var respuestas = dato;
  11.             dato       = '';
  12.        
  13.     //  2. Mostramos las respuestas encontradas para la búsqueda realizada.                                 //
  14.  
  15.         if ( !respuestas == 0 || !respuestas == null || !respuestas == undefined || !respuestas == "" || !respuestas == " " )
  16.         {
  17. %>          <div class="contabla">
  18.                 <div class="confila">
  19.                     <div class="concelda anchoc">Codigo</div>
  20.                     <div class="concelda anchod">Descripción</div>
  21.                     <div class="concelda anchop">Precio</div>
  22.                     <div class="concelda anchou">Unidad</div>
  23.                     <div class="concelda anchoi">&nbsp;</div>
  24.                     <div class="concelda anchoa">&nbsp;</div>
  25.                 </div>
  26.             </div> 
  27. <%
  28.             for (i=0;i<respuestas.length;i++)
  29.             {
  30.                 var importela = respuestas[i][4] * 1 * ( 1 + igag + ibee );
  31. %>              <div class="contabla">
  32.                     <div class="confila" id="<%=respuestas[i][0]%>" onMouseOver="javascript:color(this.id,1);" onMouseOut="javascript:color(this.id,2);">
  33.                         <div class="concelda anchoc"><%=respuestas[i][1]%></div>
  34.                         <div class="concelda anchod"><%=respuestas[i][3]%></div>
  35.                         <div class="concelda anchop"><%=formatNumber(importela)%></div>
  36.                         <div class="concelda anchou"><%=respuestas[i][2]%></div>
  37.                         <div class="concelda anchoi">
  38.                             <a href="#" onClick="javascript:abrei('<%='ainfo' + i%>','<%='aimage' + i%>');"><img id="<%='aimage' + i%>" src="http://www.presupueston.com/images/precios/bajar.png" /></a>
  39.                         </div>
  40.                         <div class="concelda anchoa">
  41.                             <a href="#" onClick="javascript:agregarPartida('<%=respuestas[i][1]%>','<%=respuestas[i][3]%>','<%=formatNumber(importela)%>','<%=respuestas[i][2]%>');"><img id="<%='apartida' + i%>" src="http://www.presupueston.com/images/precios/apartida.png" /></a>
  42.                         </div>
  43.                     </div>
  44.                 </div>
  45.  
  46.                 <div class="ainfo" id="<%='ainfo' + i%>">  
  47.                     <a class="derecha" href="#" onClick="javascript:var capaio = document.getElementById('<%='ainfo' + i%>');capaio.style.display = 'none';document.getElementById('<%='aimage' + i%>').src = 'http://www.presupueston.com/images/precios/bajar.png';"><img id="<%='aimage' + i%>" src="http://www.presupueston.com/images/precios/cerrar.png" /></a>
  48.                     <span><%=respuestas[i][7]%></span>
  49.                     <br />
  50. <%
  51.                 var consulta  = "select d.clave, d.codigo, d.concepto, d.rendimiento, c.unidad, c.resumen, c.precio ";
  52.                     consulta += "from preciod AS d INNER JOIN precioc AS c ON d.concepto = c.codigo ";
  53.                     consulta += "where d.codigo = \'" + respuestas[i][1] + "\' ";
  54.                     consulta += "order by d.clave, d.concepto ASC"
  55.            
  56.                 consulSE();             // Ejecutamos la CONSULTA.                                              //
  57.        
  58.                 var epartida = dato;
  59.                     dato     = '';
  60.  
  61.                 if ( !epartida == 0 || !epartida == null || !epartida == undefined || !epartida == "" || !epartida == " " )
  62.                 {
  63. %>                  <div class="contabla">
  64.                             <div class="confila">
  65.                                 <div class="concelda">Elemento</div>
  66.                                 <div class="concelda">Cantidad</div>
  67.                                 <div class="concelda">Unidad</div>
  68.                                 <div class="concelda">Concepto</div>
  69.                                 <div class="concelda">Precio</div>
  70.                                 <div class="concelda">Importe</div>
  71.                             </div>
  72. <%
  73.                     var sucodi   = 0;
  74.                     var eimporte = 0;
  75.                     var eprecio  = 0;
  76.                                    
  77.                     for (j=0;j<epartida.length;j++)
  78.                     {
  79.                         if ( !epartida[j][2] == String("%CI") )
  80.                         {
  81.                             sucodi  += ( epartida[j][3] * epartida[j][6] );
  82.                             eimporte = epartida[j][3] * epartida[j][6];
  83.                             eprecio  = epartida[j][6];
  84.                         }
  85.                         else
  86.                         {
  87.                             eprecio  = sucodi;
  88.                             eimporte = sucodi * epartida[j][3];
  89.                         }
  90.  
  91. %>                          <div class="confila">
  92.                                 <div class="concelda"><%=epartida[j][2]%></div>
  93.                                 <div class="concelda"><%=formatNumber(epartida[j][3])%></div>
  94.                                 <div class="concelda"><%=epartida[j][4]%></div>
  95.                                 <div class="concelda"><%=epartida[j][5]%></div>
  96.                                 <div class="concelda"><%=formatNumber(eprecio)%></div>
  97.                                 <div class="concelda"><%=formatNumber(eimporte)%></div>
  98.                             </div>
  99. <%                 
  100.                     }
  101.                    
  102. %>                  </div>
  103. <%                 
  104.                 }
  105.                 else
  106.                 {
  107. %>                  <p>Esta partida no tiene detalle de elementos de coste</p>
  108. <%
  109.                 }
  110.  
  111. %>              </div>
  112. <%             
  113.             }
  114.         }
  115.         else
  116.         {
  117. %>          No hay partidas que se correspondan con la consulta, utiliza una sola palabra.
  118. <%         
  119.         }

Llevo todo el día dando vueltas y no termino de verlo, pero creo que viendolo con claridad se puede ver al vuelo:

- Por un lado no recorre todos los elementos del primer for, solo el primero elemento.
- Este if no me funciona: if ( !epartida[j][2] == String("%CI") ), cuando debería por que el valor %CI se muestra por pantalla tal cual.

gracias, un saludo.

Última edición por evoarte; 04/07/2013 a las 13:44
  #2 (permalink)  
Antiguo 28/07/2013, 11:18
 
Fecha de Ingreso: noviembre-2003
Mensajes: 7
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: consultas a base de datos en bucle for

Buenas,
como puedo hacer para mostrar registros de una bd en un div para cada uno.

Gracias
  #3 (permalink)  
Antiguo 01/08/2013, 03:36
 
Fecha de Ingreso: abril-2012
Ubicación: Madrid (España)
Mensajes: 162
Antigüedad: 12 años
Puntos: 5
Respuesta: consultas a base de datos en bucle for

Cita:
Iniciado por lopmav Ver Mensaje
Buenas,
como puedo hacer para mostrar registros de una bd en un div para cada uno.

Gracias
Intenta no preguntar lo mismo en todos los temas, ya he contestado a tu pregunta abierta.

Etiquetas: asp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:04.