webForumDet fria alternativet

Hjälp - Macces menyscript

14 svar · 558 visningar · startad av timedia

timediaMedlem sedan maj 2001420 inlägg
#1

Har lite svårt att börja anpassa Macces menyscript (ligger i scriptbanken). Nu skrivs hela innehållet ut precis som set står i db, men hur gör jag om jag t.ex. vill göra Artnr till en länk?

Vet att detta är ett stort tungt script, men jag vill försöka göra en webbshop av detta. . eller är det dumt?

<%Dim  intParentId,strParentId,arrLinks,intGrpId,Sublink,strClass,strBullet,qstLnkId,qstParentId,strPid

qstLnkId		=		Request.Querystring("lnkid")
qstParentId		=		Request.Querystring("parid")
scriptname		=		Request.ServerVariables("SCRIPT_NAME")
arrLinks		=		GetRows("SELECT page_id,parent_page_id,linktext FROM tbl_links ORDER BY orderid ")
intGrpId		=		1 'de länkar som ska vara på nivå ett är barn till grupp 1 (alltså parent_page_id i databasen är =1)

	

If Len(qstParentId)<1 AND IsArray(arrLinks) THEN ' om man inte har querystring så öppnas den första länken automatiskt
	For I = 0 To Ubound(arrLinks,2)
		qstLnkId =  arrLinks(0,I)
		qstParentId =arrLinks(0,I)
		IF intGrpId = arrLinks(1,I) THEN Exit For
	Next
END IF	

Response.Write "<HTML><HEAD><STYLE TYPE=""text/css"">"&VbCrlf
Response.Write ".catlink      {color: #3A3A3A; font-family: verdana,arial; font-size: 10px; text-decoration: none;}"&VbCrlf
Response.Write ".sublink      {color: #3A3A3A; font-family: verdana,arial; font-size: 10px; text-decoration: none;}"&VbCrlf
Response.Write ".catlinkactive{color: #000000; font-family: verdana,arial; font-size: 10px; text-decoration: none; Font-weight:bold;}"&VbCrlf
Response.Write ".sublinkactive{color: #000000; font-family: verdana,arial; font-size: 10px; text-decoration: none; Font-weight:bold;}"&VbCrlf
Response.Write "</STYLE></HEAD><BODY>" & VbCrlf

Response.Write "<table border='0' width='100%'><tr><td width='29%' valign='top' align='left'>"

If IsArray(arrLinks) Then
  Response.Write "<br><br><TABLE border='0' cellspacing='0' cellpadding='1' width='100%' align='center'>"&VbCrlf		
	Call LinkTree(intGrpId,0)
  Response.Write "</TABLE>"
ELSE
	 Response.Write "Finns inga länkar"&VbCrlf	
END IF

arrArtiklar = GetRows("SELECT Artnr, Namn5, Storlek, Storlektyp, Farg, Ant_forp, Ovrigt FROM varor Where page_id="&qstLnkId)
Response.Write "</td>"

Response.Write "<td width='71%' valign='top' align='left'>"
If IsArray(arrArtiklar) THEN

Response.Write("<br><TABLE border=0><tr><td>Art.nr</td><td>Namn</td><td>Storlek</td><td>S-typ</td><td>Färg</td><td>Antal/pack</td><td>Beställ</td></tr>")

For u = 0 To Ubound(arrArtiklar,2)
Response.Write("<TR>")
	For m = 0 To Ubound(arrArtiklar,1)	
	Response.Write("<TD bgcolor='#C0C0C0'>"&arrArtiklar(m,u)&"</a></TD>")
	Next
Response.Write("</TR>")		
	Next
	Response.Write("</TABLE>")
END IF

Response.Write "</td></tr></table></BODY></HTML>"

Sub LinkTree(intParent,intIndent) :	Dim X,Z
		For X = 0 To Ubound(arrLinks,2)		
			If arrLinks(1,X) = intParent AND (Cstr(arrLinks(1,X))=Cstr(intGrpId) OR instr(","&qstParentId&",",","&intParent&",")>0) Then
			strPid=""
				Response.Write VbCrlf & "<TR><TD bgcolor='#ffffff'>"	
				For Z = 1 To intIndent									  
				  Response.Write("<img src='1px.gif' width='6' height='8' align='left'>")				 
				Next			
				IF intIndent=0 then 
				 Sublink=arrLinks(0,X)	
					 IF cstr(qstLnkId)  =  cstr(arrLinks(0,X)) THEN 
					 strClass  =  "catlinkactive"
					 strBullet =  "<img src='icon-active-dot.gif' border=0 align='left'>"
					 ELSE 
					 strClass  =  "catlink"
					 strBullet =  "<img src='icon-inactive-dot.gif' border=0 align='left'>"
					 END IF
				ELSE							
				For Z = 1 To intIndent : strPid=strPid&split(qstParentId,",")(Z-1) & "," : next
				 Sublink=strPid & arrLinks(0,X)
					 IF cstr(qstLnkId)  =  cstr(arrLinks(0,X)) THEN 
					 strClass  =  "sublinkactive"
					 strBullet =  "<b>- </b>"'kan även vara bild som ovan
					 ELSE 
					 strClass  =  "sublink"
					 strBullet =  "- "
					 END IF
				END IF				
				Response.Write("<a href='"&scriptname&"?lnkid="&arrLinks(0,X) &"&parid="&Sublink&"' class='"&strClass&"'>"&VbCrlf)	
				Response.Write(strBullet & arrLinks(2,X)& "</a></TD></TR>"&VbCrlf)
			
				Call LinkTree(arrLinks(0,X),intIndent + 1)			
			End If
		Next 
End Sub

Function GetRows(ByVal SQL)
		Dim arrRecords, rs	
		Set Connection = Server.CreateObject("ADODB.Connection")
		Connection.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.Mappath("..\sys\dbgam.mdb"))		
		Set rs = Connection.Execute(SQL)
		If Not rs.BOF Or Not rs.EOF Then
			arrRecords = rs.GetRows()
		ELSE
			arrRecords = ""
		End If		
		rs.Close
		Set rs = nothing
		Connection.Close
		Set Connection = nothing
		GetRows = arrRecords 
End Function

%>
timediaMedlem sedan maj 2001420 inlägg
#2

Ingen som kan hjälpa?

@ndersMedlem sedan juni 200032 969 inlägg
#3

Snälla, förminska inte koden till oläsbarhet. :)

- - - - - -

Var någonstans i koden skriver du ut Artnr som du vill ha som en länk?

- - - - - -

Till sist: att ingen svarat i denna tråd ännu, beror på att det inte har varit möjligt. Läs mer här

Mvh

atraMedlem sedan nov. 200355 inlägg
#4

jag kan inte se
noooooooooooooooooo
Matrix=)

atraMedlem sedan nov. 200355 inlägg
#5

vart ligger scriptbanken????
kan man ladda upp te dem???

MacceMedlem sedan apr. 2001425 inlägg
#6

Kanske är det så du menar ?

GetRows("SELECT page_id,parent_page_id,linktext,artnummer FROM tbl_links ORDER BY orderid ")

Response.Write("<a href='"&scriptname&"?lnkid="&arrLinks(0,X) &"&parid="&Sublink&"&artnr="&arrLinks(3,X) &"' class='"&strClass&"'>"&VbCrlf)

mvh Macce

timediaMedlem sedan maj 2001420 inlägg
#7

tyvärr dålig på array

Till @nders:
Har förstorad koden igen :)
Förstår tyvärr inte mycket av arrays, men tror att följande kod skriver ut Artnr m.m.

For u = 0 To Ubound(arrArtiklar,2)
Response.Write("<TR>")
	For m = 0 To Ubound(arrArtiklar,1)	
	Response.Write("<TD bgcolor='#C0C0C0'>"&arrArtiklar(m,u)&"</a></TD>")
	Next
Response.Write("</TR>")		
	Next
	Response.Write("</TABLE>")
END IF

Till atra:
Scriptbanken ligger här på webforum. Se länk: http://www.webforum.nu/forumdisplay.php?s=&forumid=148

Till Macce:
Var nog inte precis vad jag var ute efter. I detta fall ska Artnr skicka sig själv till en annan frame med kundkorg. Typ:

<a href="shBasket.asp?addItem=<%=Rs.Fields("Artnr").Value%>

..,men det jag egentligen undrar är hur jag plockar ut värden från array så jag kan ändra dom innan dom skrivs ut?

timediaMedlem sedan maj 2001420 inlägg
#8

Inga svar :(
..så jag försöker ändra lite :)

Nu skriver den ut produkterna på en snygg tabellrad. Om jag vill skriva ut ett tomt formulärfält (där användaren skriver antal) med en 'beställ-knapp' efter varje vara. Hur skriver jag in det i befintlig kod?

For u = 0 To Ubound(arrArtiklar,2)
Response.Write("<TR>")
	For m = 0 To Ubound(arrArtiklar,1)	
	Response.Write("<TD bgcolor='#C0C0C0'>"&arrArtiklar(m,u)&"</a></TD>")
	Next
Response.Write("</TR>")		
	Next
	Response.Write("</TABLE>")
END IF

PS! Vore tacksam om någon som satt på en bra länk om arrays/getrows vidarebefodrade denna till mig. Har sökt på webforum m.m. utan att hitta nån bra info om detta.

timediaMedlem sedan maj 2001420 inlägg
#9

Ingen vet?

@ndersMedlem sedan juni 200032 969 inlägg
#10

@nders wrote on 2003-11-20 20:56:
Så här kanske?

	For m = 0 To Ubound(arrArtiklar,1)	
		Response.Write("<TD bgcolor='#C0C0C0'>"&arrArtiklar(m,u)&"</a>")
		Response.Write("<form action=""sida.asp?artikel=" & &arrArtiklar(m,u) & """ method=""post"" style=""padding: 0px; margin: 0px;"">")
		Response.Write("<input type=""text"" size=""3"" maxlength=""4"" name=""amount""><input type=""submit"" value=""OK""></form>")
		Response.Write("</TD>")
	Next

mvh

timediaMedlem sedan maj 2001420 inlägg
#11

Tack Anders såhär blev det:

If IsArray(arrArtiklar) THEN
Response.Write("<br><TABLE border=0><tr><td>Art.nr</td><td>Namn</td><td>Storlek</td><td>S-typ</td><td>Färg</td><td>Antal/pack</td><td>Varuinfo</td><td>Fakta</td></tr>")

For u = 0 To Ubound(arrArtiklar,2)
Response.Write("<TR>")
	For m = 0 To Ubound(arrArtiklar,1)	
	Response.Write("<TD bgcolor='#C0C0C0'>"&arrArtiklar(m,u)&"</a></TD>")
	Next
		Response.Write("<TD bgcolor='#C0C0C0'>")
		Response.Write("<form mehtod='POST' action='?.asp'>")
		Response.Write("<input type='text' name='antal' size='2'>&nbsp;")
		Response.Write("<input type='submit' value='Lägg till'>")
		Response.Write("</form>")
		Response.Write ("</TD>")
Response.Write("</TR>")		
	
	Next
	Response.Write("</TABLE>")
END IF

..men jag har fortfarande problem med att förstå hur arrays funkar :(
Nu har jag lagt till ett fält, men om jag ville göra ett av värderna i arrArtiklar till en länk - HUR gör man det?

MacceMedlem sedan apr. 2001425 inlägg
#12

Kan du utveckla frågan lite mer ?

Mvh Macce

timediaMedlem sedan maj 2001420 inlägg
#13

OK. Utvecklar frågan lite :)

I arrArtiklar hämtas Artnr:

arrArtiklar = GetRows("SELECT Artnr, Namn5, Storlek, Storlektyp, Farg, Ant_forp, Ovrigt FROM varor Where page_id="&qstLnkId)

Sen skrivs alla poster från db ut såhär

For u = 0 To Ubound(arrArtiklar,2)
Response.Write("<TR>")
	For m = 0 To Ubound(arrArtiklar,1)	
	Response.Write("<TD bgcolor='#C0C0C0'>"&arrArtiklar(m,u)&"</a></TD>")
	Next
		Response.Write("<TD bgcolor='#C0C0C0'>")
		Response.Write("<form mehtod='POST' action='?.asp'>")
		Response.Write("<input type='text' name='antal' size='2'> ")
		Response.Write("<input type='submit' value='Lägg till'>")
		Response.Write("</form>")
		Response.Write ("</TD>")
Response.Write("</TR>")		
	
	Next
	Response.Write("</TABLE>")
END IF

, men frågan är alltså hur jag t.ex. kan göra en länk av Artnr?

timediaMedlem sedan maj 2001420 inlägg
#14

Ingen :q
Eller går det fortfarande inte att besvara tråden? :x (bugg)

MacceMedlem sedan apr. 2001425 inlägg
#15

Response.Write("<form mehtod='POST' action='minkundvagnssida.asp?artnr="&arrArtiklar(0,u)&"'>")

Mvh

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)