MekanoMedlem sedan dec. 200061 inlägg Jag var ute efter att lista unika poster från en tabell
med flera kolumner, men vill samtidigt plocka data från
flera kolumner och köra en loop på dem.
Har sökt igenom forumet efter lösningar men inte hittat någon
som funkat bra, distinct funkar ju bra om man bara vill lista från
en kolumn.
Nu har jag meckat ihop en lösning som funkar men den ser
väldigt osnygg ut, finns det någon som har en bättre lösning
eller bara vill rätta till i koden så tackar jag på förhand.
<%
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT DISTINCT OKat_Namn FROM Omslag
WHERE Rel = '" & Request.QueryString("kal") & "'"
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
SQL2 = "SELECT DISTINCT OBild1 FROM Omslag
WHERE Rel = '" & Request.QueryString("kal") & "'"
Set RecSet=Connect.Execute(SQL)
Set RecSet2=Connect.Execute(SQL2)
%>
<% Numcols = 2 %>
<% If Not RecSet.EOF And Not RecSet2.EOF Then %>
<% Do Until RecSet.EOF And RecSet2.EOF %>
<tr valign="top">
<% For i=1 To Numcols %>
<td align="center">
<% If RecSet.EOF Or RecSet2.EOF Then %>
nada
<% Else %>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#666666">
<a href="<% Request.ServerVariables("SCRIPT_NAME") %>
?visa=detalj&KID=<% Response.Write Request.QueryString("KID") %>
&OID=&prew=ok&onamn=<% =Server.URLEncode(RecSet("OKat_Namn") ) %>
&kal=<% Response.Write Server.URLEncode(Request.QueryString("kal") ) %>">
<b><% =RecSet("OKat_Namn") %></b></a></font><br>
<div align"center"><a href="<% Request.ServerVariables("SCRIPT_NAME") %>
?visa=detalj&KID=<% Response.Write Request.QueryString("KID") %>
&OID=&prew=ok&onamn=<% =Server.URLEncode(RecSet("OKat_Namn") ) %>
&kal=<% Response.Write Server.URLEncode(Request.QueryString("kal") ) %>">
<img src="prodbilder/<% =RecSet2("OBild1") %>_1.jpg" border="0"></a></div>
<br>
<% RecSet.MoveNext %>
<% RecSet2.MoveNext %>
<% End If %>
</td>
<% Next %>
</tr>
<% Loop %>
</table>
<% End If %>
<% RecSet.Close
RecSet2.Close %>
LarsGMedlem sedan dec. 200012 464 inlägg Vad menar du med
distinct funkar ju bra om man bara vill lista från
en kolumn.
Hur ser ditt data ut? Är det alltid samma värde i Obild1 för ett visst värde i Okat_namn? Om det är det så skall det fungera med distinct.
MekanoMedlem sedan dec. 200061 inlägg Vad jag menar är att jag inte fick det att funka med en selectsats med distinct :r
SQL = "SELECT DISTINCT OKat_Namn, OBild1 FROM Omslag
WHERE Rel = '" & Request.QueryString("kal") & "'"
OKat_Namn = Produktnamnet (olika)
Obild1 = Minibild på produkt (olika)
Rel = Vilken huvudprodukt tillbehöret tillhör
Jag har ett produktkort där det hänger med en inkludefil.
Som består av den kod jag la in tidigare, meningen med den
är att den ska lista tillbehör till produkten, och då plockar
den ur en tillbehörstabell beronde på vilket värde som skickas
med
Request.QueryString("kal")
, men eftersom
det finns varianter även på tillbehören så vill jag endast lista
de unika konfigurationerna.
LarsGMedlem sedan dec. 200012 464 inlägg Det är fortfarande oklart för mig hur ditt datainnehåll ser ut
kan det se ut så här?
Okat_namn!Obild1
---------------!-------
namn1 !bild1
namn1 !bild2
namn2 !bild1
namn2 !bild3
eller är det så här
Okat_namn!Obild1
---------------!-------
namn1 !bild1
namn1 !bild1
namn2 !bild2
namn2 !bild2
Oavsett hur det ser ut så borde den fråga där du hämtar båda kolumnerna fungera.
Ett problem med koden i ditt första inlägg är att den förutsätter att det alltid är lika många poster i de båda recordseten.
MekanoMedlem sedan dec. 200061 inlägg Jag ville lista Okat_Namn och OBild1 beronde på
vilket värde Rel hade.
Men ville inte lista alla olika kombinationer som
t ex namn har, detta kommer i nästa steg när man
klickar på t ex namn eller den tillhörande bilden.
Tillbehörstabell
---------------------------------------------------------------------->
OKat_Namn................Rel....................OBild1....................Farg.......
-----------------!-----------------!-----------------!----------------
namn..................produkt1..................thumb97.....................vit
-----------------!-----------------!-----------------!----------------
namn2...............produkt1..................thumb65....................vit
-----------------!-----------------!-----------------!----------------
namn..................produkt1..................thumb34....................blå
-----------------!-----------------!-----------------!----------------
namn3...............produkt2..................thumb22....................lila
-----------------!-----------------!-----------------!----------------
namn2...............produkt3..................thumb13....................röd
-----------------!-----------------!-----------------!----------------
namn3...............produkt1..................thumb77....................svart
! Har gjort en tabell till med de olika OKat_Namn, och plockat
upp/ihop data med join det funkar ju bra/bättre.
Det som jag tycker vore kul är att få reda på om den innan
postade lösningen strider mot alla kodningsprinciper och om
hur man ur prestanda/optimerings mässigt ser på det.
LarsGMedlem sedan dec. 200012 464 inlägg Om ditt data ser ut så så får du göra som i ditt ursprungliga förslag.
Om man tittar på ditt exempeldata så blir det fler poster i det recordset som innehåller bilder jämfört med det som innehåller namn och då borde din kod resultera i en oändlig loop.