devotion Medlem sedan jan. 2001 3 582 inlägg Frågan 25 maj 2006 19:20 #1 Hepp!
Har en liten käck fråga. Jag vill göra en dynamsik tabell som loopar ut tabellrubriker och tabellceller...
Tabellrubrikerna <th> är ju inga problem enligt nedanstående kod. datat hämtas från tblSupplier och alla leverantörerna blir tabellrubriker. Problemet är att jag inte vet hur jag ska göra för att loopa ut motsvarnde antal <td>... I <td> ska uppgifter som hör till leverantören i tabellrubriken stå. tex priser.
Hur får jag till detta?
Dvs
rätt antal <td>
någon typ av kontroll så det verkligen är leverantör 1 uppgifter som står i kolumnen.
<table>
<caption>
Sammanställning
</caption>
<thead>
<tr>
<th>Benämning</th>
<th>Enhet</th>
<%
Do While not objRS.EOF
iSupplierCounter = iSupplierCounter + 1
sSupplier = "" & objRS("supplierName")
%>
<th><% =sSupplier %></th>
<%
objRS.MoveNext
Loop
objRS.Close
Set objRS = Nothing
%>
<th>Antal</th>
</tr>
</thead>
<tbody>
<tr>
<td>EKLK 3G 1,5 R50</td>
<td>m</td>
[b] dynamskt antal:<td></td>[/b]
<td>textfält</td>
</tr>
</tbody>
</table>
Mvh
Henrik
E emission Medlem sedan dec. 1999 6 721 inlägg Loopa igenom objRS igen och sök ut relevanta uppgifter på rätt ställe.
devotion Medlem sedan jan. 2001 3 582 inlägg Hej emission! :)
Skulle du kunna utveckla det lite?
Mvh
Henrik
E emission Medlem sedan dec. 1999 6 721 inlägg Eller snarare...
Om det bara ska vara en rad/produkt i tabellen, så kan du ju söka ut både produktinformation och leverantörer i samma fråga och loopa igenom samma recordset två gånger. Första gången plockar du ut leverantörsnamnet och andra gången produktinfon.
devotion Medlem sedan jan. 2001 3 582 inlägg ok!
Ska testa lite...
Kanske återkommer i ärendet.. ;)
Tack så länge!
Mvh
Henrik
devotion Medlem sedan jan. 2001 3 582 inlägg Hepp igen!
Har testat lite
Har följande kod:
<table>
<caption>
Sammanställning
</caption>
<thead>
<tr>
<th>Benämning</th>
<th>Enhet</th>
<%
sSQL = "SELECT tblArticle.articleUnit, tblArticle.articleName, tblPrice.articleNumber, tblCategory.CategoryName, tblSupplier.SupplierName, " &_
"tblPrice.articlePrice, tblDiscount.articleDiscount " &_
"FROM tblSupplier " &_
"LEFT OUTER JOIN tblDiscount " &_
"INNER JOIN tblCategory ON tblDiscount.categoryNumber = tblCategory.categoryNumber AND tblDiscount.supplierId = tblCategory.supplierId " &_
"INNER JOIN tblCart " &_
"INNER JOIN tblArticle ON tblCart.articleName = tblArticle.articleName " &_
"INNER JOIN tblPrice ON tblArticle.articlenumber = tblPrice.articleNumber ON tblCategory.categoryNumber = tblPrice.articleCategoryNumber " &_
"AND tblCategory.supplierId = tblPrice.articleSupplierId ON tblSupplier.SupplierId = tblPrice.articleSupplierId " &_
"ORDER BY tblPrice.articlePrice"
Set objRS = objConn.Execute (sSQL)
Do While not objRS.EOF
sSupplier = "" & objRS("supplierName")
%>
<th><% =sSupplier %></th>
<%
objRS.MoveNext
Loop
%>
<th>Antal</th>
</tr>
</thead>
<tbody>
<tr>
<td>EKLK 3G 1,5 R50</td>
<td>m</td>
<%
Set objRS = objConn.Execute (sSQL)
Do While not objRS.EOF
iFieldCounter = iFieldCounter + 1
sSupplier = "" & objRS("articlePrice")
%>
<td><a href="" onclick="return showResults(event,this)"><% =objRS("articlePrice") %> kr</a><input type="hidden" name="foo<% =iFieldCounter %>"></td>
<%
objRS.MoveNext
Loop
objRS.Close
Set objRS = Nothing
%>
<td><input name="" type="text"></td>
</tr>
</tbody>
</table>
Det fungerar om jag bara en artikel i tblCart... Lägger jag i flera där så upprepas leverantörerna...
Är jag på rätt spår?
Bifogar lite skärmdumpar!
Mvh
henrik
devotion Medlem sedan jan. 2001 3 582 inlägg Ingen som har någon smart idé?
Mvh
Henrik
devotion Medlem sedan jan. 2001 3 582 inlägg Hej! :)
Nu har jag gjort en tabell med en leverantör (låst i SQL-frågan) och en artikel i tblCart...
Det funkar ju fint. Men hur i all sin dar får man till alt dynamiskt?
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
<script type="text/javascript">
function showResults(e,a)
{
var left, top;
if (window.event){
left = window.event.clientX;
top = window.event.clientY;
} else if (e){
left = e.pageX;
top = e.pageY;
}
if (left && top){
window["a"] = a;
elm.style.left = left + "px";
elm.style.top = top + "px";
elm.style.visibility = "visible";
}
return false;
}
window.onload = function()
{
window["elm"] = document.getElementById("result");
}
document.onclick = function(e)
{
var tmp = window.event ? window.event.srcElement : e ? e.target : 0,
fnd = false;
if (tmp){
while (tmp){
if (tmp == elm || (typeof a != "undefined" && tmp == a)) {
fnd = true;
break;
}
tmp = tmp.parentNode;
}
}
if (!fnd) elm.style.visibility = "hidden";
}
function changeValue(p,c,s,i)
{
if (a && elm){
a.innerHTML = p + " - " + c + " - " + s + " kr";
document.forms[0].elements[i].value = c;
elm.style.visibility = "hidden";
}
}
</script>
<link href="../css/cart.css" rel="stylesheet" type="text/css">
</head>
<body>
<!--#include virtual="/includes/functions.asp" -->
<%
'Deklarera variabler
'*******************
Dim objConn, objRS, sSQL
' Öppna databasen
' ***************
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = Application("sConn")
objConn.Open
%>
<form method="post" action="taemot.asp">
<table>
<caption>
Sammanställning
</caption>
<thead>
<tr>
<th>Benämning</th>
<th>Enhet</th>
<th>Solar</th>
</tr>
</thead>
<tbody>
<tr>
<%
sSQL = "SELECT tblArticle.articleName, tblArticle.articleUnit, tblPrice.articlePrice, tblSupplier.SupplierName, " &_
"tblCart.articleAmount, tblSupplier.SupplierId, tblCategory.CategoryName, tblPrice.articleNumber " &_
"FROM tblArticle " &_
"INNER JOIN tblPrice ON tblArticle.articlenumber = tblPrice.articleNumber " &_
"INNER JOIN tblSupplier ON tblPrice.articleSupplierId = tblSupplier.SupplierId " &_
"INNER JOIN tblCart ON tblArticle.articleName = tblCart.articleName " &_
"INNER JOIN tblCategory ON tblPrice.articleSupplierId = tblCategory.supplierId AND tblPrice.articleCategoryNumber = tblCategory.categoryNumber " &_
"WHERE (tblSupplier.SupplierId = 1) " &_
"ORDER BY tblPrice.articlePrice"
Set objRS = objConn.Execute (sSQL)
dArticlePrice = cdbl(objRS("articlePrice"))
sCategoryName = objRS("CategoryName")
sArticleNumber = objRS("articleNumber")
sArticleName = objRS("articleName")
sArticleUnit = objRS("articleUnit")
iSupplierId = objRS("SupplierId")
response.write "supplierId: " & isupplierId
%>
<td><% =sArticleName %></td>
<td><% =sArticleUnit %></td>
<td><a href="" onclick="return showResults(event,this)" style="color:blue;text-decoration:none"><% =sCategoryName & "-" & sArticleNumber & "-" & dArticlePrice %> kr</a><input type="hidden" name="articleNumber" value="<% =sArticleNumber %>"><input type="hidden" name="supplierId" value="<% =isupplierId %>"></td>
</tr>
</tbody>
</table>
<div id="result">
<ul>
<%
Set objRS = objConn.Execute (sSQL)
Do while not objRS.EOF
dArticlePrice = cdbl(objRS("articlePrice"))
sCategoryName = objRS("CategoryName")
sArticleNumber = objRS("articleNumber")
sArticleName = objRS("articleName")
sArticleUnit = objRS("articleUnit")
%>
<li><span onclick="changeValue('<% =sCategoryName %>','<% =sArticleNumber %>','<% =dArticlePrice %>','articleNumber')" style="cursor:pointer;color:blue"><% =sCategoryName & "-" & sArticleNumber & "-" & dArticlePrice %> kr</span></li>
<%
objRS.MoveNext
Loop
%>
</ul>
</div>
<input name="" type="submit" value="Submit">
</form>
<%
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>
</body>
</html>
Resultatet ser ni här:
http://80.73.182.130/testscript/ruta.asp
Bifogar även en bild på hur jag "vill" ha det!
Mvh
Henrik
devotion Medlem sedan jan. 2001 3 582 inlägg Hej!
Denna tråd har blivit löst i en annan tråd....
http://www.webforum.nu/showthread.php?p=1199402#post1199402
Mvh
Henrik