har en array från getrows (resultat av en sökmotor) som kan se ut typ:
produkt--huvudkategori--underkategori
p1-----------datorer-------------hårdvara
p2-----------litteratur-----------böcker
p3-----------datorer-------------mjukvara
p4-----------datorer-------------hårdvara
p5-----------litteratur-----------tidningar
kan man på nått sätt plocka ut huvud- och underkategorierna utan dubletter så att man får:
datorer:hårdvara:mjukvara--litteratur:böcker:tidningar
inte det lättaste kanske men, men...går det?
LarsGMedlem sedan dec. 200012 464 inlägg Om du lägger till
order by huvudkategori, underkategori
i din select-sats, så kan du själv se när något byter värde när du loopar igenom din array.
du har inget skönt exempel på hur loopen skulle kunna se ut?
min loop idag ser ut så här(ungefär):
for rows = 0 to ubound(mygetrows,2)
category_main = mygetrows(7,rows)
category_sub = mygetrows(5,rows)
response.write category_main
response.write category_sub
next
men då blir det ju varannan huvud- och underkategori + att det blir flera av samma kategori.
det som ska hända är alltså: när man gör en sökning i sökmotorn så vill jag visa i vilka huvud- och underkategorier man fick träffar i.
så att det blir:
du fick träffar i kategorierna:huvud1-under1-under2-huvud2-under1-osv...
sen listas samtliga produkter.
borde man inte kunna plocka ut kategorierna separat från arrayen och lista dem eller lär jag göra två selectsatser istället?
min select ser ut så här:
strsql = "select p.p_productid, p.p_title, p.p_fact, p.p_price, cs.cs_subid, cs.cs_name, cm.cm_mainid, cm.cm_name, st.st_name "&_
"from ((products p inner join categories_sub cs on p.p_subid = cs.cs_subid) "&_
"inner join categories_main cm on cs.cs_mainid = cm.cm_mainid) "&_
"left join stock st on p.p_stockid = st.st_stockid "&_
"where p.p_title LIKE '%" & searchfield & "%' order by p.p_title"
Call selectpost
förlåt att den är ganska lång men jag tyckte att det var lika bra att ta med hela strängen.
jaha det här blev väl ett lagomt fredags jobb att avsluta dagen med va!
LarsGMedlem sedan dec. 200012 464 inlägg Jo, om du vill ha produkterna sorterade enligt titel så blir det besvärligt att plocka ut unika kategorier. I så fall är det nog enklast, som du säger, att göra en fråga speciellt för det
query = "select distinct cs.cs_name, , cm.cm_name from ((products p inner join categories_sub cs on p.p_subid = cs.cs_subid) "&_
"inner join categories_main cm on cs.cs_mainid = cm.cm_mainid) "&_
"left join stock st on p.p_stockid = st.st_stockid "&_
"where p.p_title LIKE '%" & searchfield & "%' order by cs.cs_name, cm.cm_name "
och sedan kan du ta fram dom med denna kod
hk = ""
set rs = connect.execute(query)
while not rs.eof
if hk <> rs("cm_name") then
hk = rs("cm_name")
response.write hk & "<br>"
end if
response.write "---- " rs("cs_name") & "<br>"
rs.movenext
wend
jag gjorde en egen fråga för kategorierna, funkar klart godkänt!