10. december 2004 - 22:40Der er
35 kommentarer og 1 løsning
Automatisk generering af ny side (programmering fejl)
Hej eksperten brugere...
Jeg har denne her kode hvor at den lister nogle produkter også skulle den efter 10 produkter gerne forsætte videre på en ny side, det gør den også men der står "side 1" nede i bunden også kommer "2,3,4,5" osv. toppen, hvorfor ???
Nogen som kan ændre det til mig så det virker ???
Koden:
<!-- #include file="config.asp" --> <!-- #include file="umbruch.asp" --> <% r = request.querystring("r") if len(r)<1 then r=-1 s = request.querystring("s") if len(s)<1 then s = 0 s=s*10
dim rubriken(100,4)
set db = Server.CreateObject("ADODB.Connection") connect="Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("shop.mdb") db.Open connect
sql = "select rubrik, id, parent, rank from rubriken order by rank" set rs = db.Execute(sql) while not rs.eof if i<100 then rubriken(i,0) = rs("rubrik") rubriken(i,1) = rs("parent") rubriken(i,2) = rs("id") rubriken(i,3) = rs("rank") end if i=i+1 rs.movenext wend arrayLaenge=i-1
Function show_search(parent1, ebene) if parent1 <> vbNullString then for t = 0 to arrayLaenge if rubriken(t,1) = parent1 then
platzhalter="" for x= 0 to ebene platzhalter = platzhalter & " " next
if ebene = 0 then zusatz = "<b>" zusatz1 = "</b>" end if response.write( platzhalter & "<a class='text' href='index1.asp?r="&rubriken(t,2)&"'>" & zusatz & rubriken(t,0) & zusatz1 & "</a><br>" & chr(13)) parent2 = rubriken(t,2) ebene1 = ebene +1 show_search parent2, ebene1 end if next end if end function
sqlZusatz="" Function show_c(parent3) for t = 0 to arrayLaenge if cint(rubriken(t,1)) = cint(parent3) then parent4 = rubriken(t,2) sqlZusatz = sqlZusatz & " or rubrik = " & parent4 show_c parent4 end if next end function
For t = 0 to fix((alleEintraege-1)/10) Response.Write "<a class=""text"" href=""index1.asp?s=" & t "&r=" & r """>" if t = (s/10) then Response.Write "<b>" end if Response.Write t+1 if t=(s/10) then Response.Write "</b>" end if
For t = 0 to fix((alleEintraege-1)/10) Response.Write "<a class=""text"" href=""index1.asp?s=" & t & "&r=" & r & """>" if t = (s/10) then Response.Write "<b>" end if Response.Write t+1 if t=(s/10) then Response.Write "</b>" end if
<!-- #include file="config.asp" --> <!-- #include file="umbruch.asp" --> <% r = request.querystring("r") if len(r)<1 then r=-1 s = request.querystring("s") if len(s)<1 then s = 0 s=s*10
dim rubriken(100,4)
set db = Server.CreateObject("ADODB.Connection") connect="Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("shop.mdb") db.Open connect
sql = "select rubrik, id, parent, rank from rubriken order by rank" set rs = db.Execute(sql) while not rs.eof if i<100 then rubriken(i,0) = rs("rubrik") rubriken(i,1) = rs("parent") rubriken(i,2) = rs("id") rubriken(i,3) = rs("rank") end if i=i+1 rs.movenext wend arrayLaenge=i-1
Function show_search(parent1, ebene) if parent1 <> vbNullString then for t = 0 to arrayLaenge if rubriken(t,1) = parent1 then
platzhalter="" for x= 0 to ebene platzhalter = platzhalter & " " next
if ebene = 0 then zusatz = "<b>" zusatz1 = "</b>" end if response.write( platzhalter & "<a class='text' href='index1.asp?r="&rubriken(t,2)&"'>" & zusatz & rubriken(t,0) & zusatz1 & "</a><br>" & chr(13)) parent2 = rubriken(t,2) ebene1 = ebene +1 show_search parent2, ebene1 end if next end if end function
sqlZusatz="" Function show_c(parent3) for t = 0 to arrayLaenge if cint(rubriken(t,1)) = cint(parent3) then parent4 = rubriken(t,2) sqlZusatz = sqlZusatz & " or rubrik = " & parent4 show_c parent4 end if next end function
if count > 0 then sql = "select count(id) as alleEintraege from produkte where rubrik = " & r & sqlZusatz set rs = db.Execute(sql) alleEintraege = int(rs("alleEintraege")) %> <tr> <td width="100%" bgcolor="<%=color2%>" colspan="2" class="text"> <p align="right"> side <% For t = 0 to fix((alleEintraege-1)/10) Response.Write "<a class=""text"" href=""index1.asp?s=" & t & "&r=" & r & """>" if t = (s/10) then Response.Write "<b>" end if Response.Write t+1 if t=(s/10) then Response.Write "</b>" end if
Sorry min fejl fik det ntil at fungerer alligevel :D
1000 tak :D
ligger du lige et svar ???
ps: kan det lade sig gøre at den lister produkterne i hevr kategori efter "artikelnr" i stedet for efter ID ? så kan jeg nemlig selv bestemme rækkefølgen :D
Lige nu lister den efter ID nummeret og det er jo fast så det vil sige vis jeg får et produkt som jeg gerne vil have ind i mellem 2 eksisteren produkter skal jeg til at slette osv. (ret træls)
Men jeg kan selv vælge artikelnr, så vis den lister efter det kan jeg bare selv ændre artikel nummeret så det passer :D
Har lige prøvet at indsætte den streng der, men de står stadig i den rækkefølge som de er tilføjet, du kan prøve at se det her: http://www.thomasnet.dk/ under "forstærkere"
jep det forstår jeg godt... tænkte på bare at lade den sorterer efter artikel nr. også Bruge A B C D osv. også bare lave det usynlig så det ikke står ved siden af produktets navn mere :D
1000 tak for hjælpen nu tror jeg at jeg kan klare den herfra... vis du vil have nogle flere points siger du bare til så opretter jeg bare et andet spørgsmål med points til dig...
Prøvede for sjov skyld at lave det sådan så der var en kolonne som hedder rekkefolge som du sagde, og det virker også fint nok, men når jeg vil "edit" en vare, så popper vinduet op med informationer men den kan ikke gemme, kan du se en fejl ?
<% if session("login")<>"ok" then response.redirect("loginerror.html")
id = request.queryString("id")
function check(wert) if len(wert)<1 then save = false wert = replace(wert,"'", "`") wert = replace(wert,chr(34), "``") check = wert end function
function check1(wert) wert = replace(wert,",",".") check1 = wert if isNumeric(wert) = false then save = false end function
set db = Server.CreateObject("ADODB.Connection") connect="Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("../pw99_shop.mdb") db.Open connect
sql = "select bezeichnung, beschreibung, rekkefolge, bild, artikelnr, preis, rubrik from produkte where id = " & id set rs = db.Execute(sql) bezeichnung = rs("bezeichnung") beschreibung = rs("beschreibung") rekkefolge = rs("rekkefolge") bild = rs("bild") artikelnr = rs("artikelnr") preis = rs("preis") rubrik = rs("rubrik") rs.close set rs = nothing
Function show_search(parent1, ebene, selected) if parent1 <> vbNullString then for t = 0 to arrayLaenge if rubriken(t,1) = parent1 then platzhalter="" for x= 0 to ebene platzhalter = platzhalter & " " next if rubriken(t,2) = selected then response.write("<option value='"&rubriken(t,2)&"' selected>"&platzhalter&rubriken(t,0)&"</option>"&chr(13)) else response.write("<option value='"&rubriken(t,2)&"'>"&platzhalter&rubriken(t,0)&"</option>"&chr(13)) end if parent2 = rubriken(t,2) ebene1 = ebene +1 show_search parent2, ebene1, selected end if next end if end function
dim rubriken(100,4) sql = "select rubrik, id, parent, rank from rubriken order by rank" set rs = db.Execute(sql) while not rs.eof if i<100 then rubriken(i,0) = rs("rubrik") rubriken(i,1) = rs("parent") rubriken(i,2) = rs("id") rubriken(i,3) = rs("rank") end if i=i+1 rs.movenext wend arrayLaenge=i-1
' ***** UPDATE PRODUKT ***** if request.form("b1") = "update" then save = true rubrik = request.form("rubrik") preis = check1(request.form("preis")) produkt = check(request.form("produkt")) rekkefolge = check(request.form("rekkefolge")) pic = request.form("pic") if len(pic)<1 then pic = " " nummer = check(request.form("nummer")) beschreibung = check(request.form("beschreibung")) if save = true then sql = "update produkte set bezeichnung = '"&produkt&"', beschreibung = '"&beschreibung&"', bild = '"&pic&"', rekkefolge = '"&rekkefolge&"', artikelnr = '"&nummer&"', preis = "&preis&", rubrik = "&rubrik&" where id = " & id db.execute(sql) end if end if
<% if session("login")<>"ok" then response.redirect("loginerror.html")
function check(wert) if len(wert)<1 then save = false wert = replace(wert,"'", "`") wert = replace(wert,chr(34), "``") check = wert end function
function check1(wert) wert = replace(wert,",",".") check1 = wert if isNumeric(wert) = false then save = false end function
set db = Server.CreateObject("ADODB.Connection") connect="Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("../pw99_shop.mdb") db.Open connect
Function show_search(parent1, ebene) if parent1 <> vbNullString then if i mod 2 = 0 then bgcolor = "#EFEFDE" else bgcolor = "#E3E1E1" end if for t = 0 to arrayLaenge if rubriken(t,1) = parent1 then
platzhalter="" for x= 1 to ebene platzhalter = platzhalter & " " next response.write("<option value='"&rubriken(t,2)&"'>"&platzhalter&rubriken(t,0)&"</option>"&chr(13)) parent2 = rubriken(t,2) ebene1 = ebene +1 show_search parent2, ebene1 end if next end if end function
dim rubriken(100,4) sql = "select rubrik, id, parent, rank from rubriken order by rank" set rs = db.Execute(sql) while not rs.eof if i<100 then rubriken(i,0) = rs("rubrik") rubriken(i,1) = rs("parent") rubriken(i,2) = rs("id") rubriken(i,3) = rs("rank") end if i=i+1 rs.movenext wend arrayLaenge=i-1
' ***** DELETE RUBRIK ***** if request.querystring("delete") = "true" and len(request.querystring("id"))>0 then sql = "delete from produkte where id = " & request.querystring("id") db.execute(sql) end if
' ***** INSERT NEW PRODUKT ***** if request.querystring("new") = "true" then save = true rubrik = request.form("rubrik") preis = check1(request.form("preis")) produkt = check(request.form("produkt")) pic = request.form("pic") if len(pic)<1 then pic = " " nummer = check(request.form("nummer")) rekkefolge = check(request.form("rekkefolge")) beschreibung = check(request.form("beschreibung")) if save = true then sql = "insert into produkte (bezeichnung, beschreibung, bild, artikelnr, preis, rubrik, rekkefolge) " sql = sql & "values('"&produkt&"', '"&beschreibung&"', '"&pic&"', '"&nummer&"', "&preis&", "&rubrik&", "&rekkefolge&")" db.execute(sql) end if end if
<% sql = "select a.bezeichnung, a.preis, a.rekkefolge, a.artikelnr, b.rubrik as rubrik_name, a.id as p_id from produkte a, rubriken b where b.id = a.rubrik order by b.rubrik, a.rekkefolge desc" set rs = db.Execute(sql) while not rs.eof count = count +1 if count mod 2 = 0 then bgcolor = "#EFEFDE" else bgcolor = "#E3E1E1" end if
if old_rubrik <> rs("rubrik_name") then old_rubrik = rs("rubrik_name") %> <td width="100%" bgcolor="#848CB5" align="left" colspan="5"><b><%=rs("rubrik_name")%></b></td>
<% end if %> <tr> <td width="10%" bgcolor="<%=bgcolor%>" align="center"><%=rs("rekkefolge")%></td> <td width="10%" bgcolor="<%=bgcolor%>" align="center"><%=rs("artikelnr")%></td> <td width="60%" bgcolor="<%=bgcolor%>" align="left"><%=rs("bezeichnung")%> (<%=rs("preis")%>)</td> <td width="10%" bgcolor="<%=bgcolor%>" align="center"><a class="text" href="produkte.asp?id=<%=rs("p_id")%>&delete=true">delete</a></td> <td width="10%" bgcolor="<%=bgcolor%>" align="center"><a class="text" href="java script:update('<%=rs("p_id")%>');">edit</a></td> </tr> <% rs.movenext wend rs.close db.close set rs = nothing set db = nothing %> </table> </td> </tr> </table>
sql = "select a.bezeichnung, a.preis, a.artikelnr, b.rubrik as rubrik_name, a.id as p_id from produkte a, rubriken b where b.id = a.rubrik order by b.rubrik, a.artikelnr desc"
som du ser sorteres der efter "order by b.rubrik, a.artikelnr desc" dvs, Z-A sortering af først Rubrik, dernæst Artikelnr
hvis du vil have det til at passe med din nye sorterings teknik, skal det ændres til:
sql = "select a.bezeichnung, a.preis, a.artikelnr, b.rubrik as rubrik_name, a.id as p_id from produkte a, rubriken b where b.id = a.rubrik order by b.rubrik asc, a.Rekkefolge asc"
herved sorteres der efter A-Z metoden, på først Rubrik, dernæst rekkefolge
når du ændre i rekkefolge ser du ændringen med det samme
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.