ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
587
587
EMPFEHLEN
-
Hallo zusammen
Erstens möchte ich mich jetzt schon bei denen Bedanken die mir helfen können.
Ich habe eine mssql database mit ca 2400 einträge von bildern.
die Funktionen die ich programmieren muss sind folgende.
ich habe eine suchfunktion und eine "weiter" funktion.
nun mein problem
ich gebe eine gewisse zahl in die suche ein und gehe damit zur db und hole mir das foto mit der entsprechenden such eingabe, nun kann es oder besser ist es so das es auch 500 fotos sein können die diese bezeichnung haben, wie kann ich diese mit der "weiter" funktion ansprechen bzw. mir die bilder nur immer dann anzeigen lassen wenn ich den weiter knopf drücke?
das wäre mal mein erstes problem.
grüsse Sly
-
Hallo
das geht am performantesten über eine Abfrage der SQL.
Wenn Du weiter klickst, musst Du die Abfrage so aufrufen, dass folgender Wert gefunden wird
select top 1 bild from tabelle where id > " & id & " order by id ASC
etc.
Die vorgehensweise ist ungefähr hier beschrieben
http://www.aspheute.com/artikel/20000403.htm
Nur damit Du verstehst, was ich meine.liebe Grüße, die Luzie
-
Hallo Luzie
Danke erstmal, ich werde dieses mal einabuen und bescheid geben
Noch ne frage , soll ich am besten den wert den ich im suchen eingeben über Rquest.Querystring abfragen um das sql statement aufzubauen oder hast du eine elegantere weise?
gruss Sly
-
Hi
Wenn Du den Suchbegriff oder Zahl über Formular und URL weitergeben willst, dann musst Du auch über die Variable beides möglich machen.
z.b.
dim var : var = Request.Form("feld") & Request.QueryString("feld")
Hier mal ein Beispielscript von mir
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
<%@LANGUAGE="VBSCRIPT" %> <% option explicit dim strDatabase %> <!--#include file="connections.asp" --> <% ' -- bildershow für Bereichte function getBilder dim objConn Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strDatabase dim url, id url = request.Servervariables("SCRIPT_NAME") dim pic : pic = 404 dim sql1, rs1 sql1 = "select min(ID), max(ID) from tbl_bilder where bdokID=" & pic Set RS1 = Server.CreateObject("ADODB.Recordset") RS1.Open sql1, objConn dim anfang : anfang = rs1(0) dim ende : ende = rs1(1) rs1.close set rs1=nothing id = anfang if Request.QueryString("id") <> "" then id = Request.QueryString("id") dim prev : prev = Request.QueryString("prev") dim anext : anext = Request.QueryString("next") '++++++++++++++++++++++++++++++++++++++++++++++ if prev <> "" then dim sql, rs sql = "select * from tbl_bilder where bdokID=" & pic & " and ID < " & id & " order by ID DESC" elseif anext <> "" then sql = "select * from tbl_bilder where bdokID=" & pic & " and ID > " & id & " order by ID ASC" else sql = "select * from tbl_bilder where bdokID=" & pic & " and ID =" & id end if Set RS = Server.CreateObject("ADODB.Recordset") RS.Open sql, objConn ' --- Bilderausgabe dim AusgabeBild AusgabeBild = "<div style=""text-align:center;"">" & _ "<img style=""border:1px solid #cccccc;"" src=""../pfad/" & _ rs(2) & "_" & rs(1) & ".jpg"">" & _ "</div>" ' ---- Anfang und Ende abfragen dim mAnfang, mEnde if rs(0) = anfang then mAnfang = true if rs(0) = ende then mEnde = true dim txt txt = AusgabeBild & "<br>" ' ---- Blätterlinks txt = txt & "<div style=""text-align:center;"">" if mAnfang = false then txt = txt & "<a href=""" & url & "?pic=" & pic & "&ID=" & anfang & """>Anfang</a> | " txt = txt & "<a href=""" & url & "?pic=" & pic & "&prev=1&ID=" & rs(0) & """>prev</a> | " else txt = txt & "Anfang | prev | " end if if mEnde = false then txt = txt & "<a href=""" & url & "?pic=" & pic & "&next=1&ID=" & rs(0) & """>next</a> | " txt = txt & "<a href=""" & url & "?pic=" & pic & "&ID=" & ende & """>Ende</a> " else txt = txt & "next | Ende" end if txt = txt & "</div>" '++++++++++++++++++++++++++++++++++++++++++++++++++++++ rs.close Set RS = Nothing ' -- Verbindung schließen objConn.close set objConn = Nothing getBilder = txt end function %> <html> <head> <title>Bildershow</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> body { font-family : Verdana, Arial, Helvetica, sans-serif; font-size:80%; margin:2px; background-color:#cccccc; text-align:center; } </style> </head> <body> <div style="padding:10px;margin:10px;background-color:white;border:2px outset;width:550px;"> <% Response.write getBilder %> </div> <div style="font-size:70%;color:white;padding-left:10px;">©PTS Training Service</div> </body> </html>
Das sieht dann wie folgt aus
http://www.pts.info/service/tausgabe.aspliebe Grüße, die Luzie
-
heyyy Luzie
danke sehr für dein code , ist mir zu kompliziert, bin nicht so ein profi
was ich gerne wissen möchte ist
1.
ich brauche doch ein textfeld wo ich die zahl eingebe die das foto sucht, und ein button zum absenden.
wie bringe ich nun die zahl in eine variable die ich dann in meiner sql abfrage einbauen kann?
2.
Ist das überhaupt möglich alles auf einer seite zu machen oder muss ich auf eine 2te ausweichen oder gehe ich dass ganz falsch an
hier noch ein kleiner codeschnipsel
<%
if Request.Form("submit") then
call dbconnect()
set Rst = Conn.Execute ("SELECT pic_link FROM pic WHERE pic_m ='suche1'")%>
<td width="984" height="650"><img src="<%=Rst(0)%>" /></td>
<%Rst.Close
Set Rst = Nothing
call dbclose()
end if
%>
gruss sly
-
Hallo
klar kannst Du auch alles auf einer Seite darstellen. Das ist eben eine Sache der Abfrage. Aber die hast Du ja in Deinem Scriptcode auch schon drin.
Du musst nur einen Schritt weiter denken.
Wenn Du die Suche auf der einen Seite über eine Formular übergibst (POST), musst Du sie bei den Blätterlinks über den QueryString() übergeben (GET).
Die Variable kannst du dann definierten, wie ich es im Vorposting bereits angegeben habe.
Code :1 2 3 4 5 6
<% if Request.Form("submit") then dim var : var = Request.Form("feld") & Request.QueryString("feld") call dbconnect() set Rst = Conn.Execute ("SELECT pic_link FROM pic WHERE pic_m ='" & var & "'")%> ....
Allerdings hat dies ein Problem, dass die über die Blätterlinks ja keinen Request.Form("submit") übergibst. Insoforn wird die Abfrage in dem Moment nicht mehr aktiv, wenn Du weiterblätterst.
Du kannst aber die Abfrage auch auf die Variable setzen, die dann sowohl über das Formular als auch über die Blätterlinks weitergegeben wird.liebe Grüße, die Luzie
-
Hallo Luzie
Herzlichen dank für deine hilfe, ich bin richtig froh das du mir hilfst
was ich nicht verstanden habe ist warum sollte ich die abfrage auch in eine variable geben
wenn ich doch einmal eine abfrage mache dann kommen doch alle möglichen werte in das recordset stimmt das so ich frage nur?
dann könnte ich doch mit rst(0) anfangen in den link zu geben und beim blättern rst(1) usw bin ich da richtig in der annahme?
nur bring ich das rst nicht in den link rein funkz. nicht
, was mache ich falsch oder bin ich total auf dem holzweg
grüsse SlyGruss Sly
-
Hi
ja, das stimmt, es werden alle angeforderten Werte geladen, aber nur solang, bis die Seite wieder neu geladen wird und das passiert, wenn Du ein nächstes Bild aufrufst.
Ich sag es nochmal, wie Du es machst, ist eigentlich relativ egal, aber die Anforderung bzw. die Suche muss bei jedem Laden immer wieder an die Seite geschickt werden.
Wenn Du das nächste Bild laden willst, musst Du dies dem Recordset auch sagen
"Lad mir bitte das nächste Bild mit der nächst höheren ID".liebe Grüße, die Luzie
-
Hi Luzie
Habs verstanden das mit der variable
werde ich mich noch ranwagen 
nur bin ich am stolpern und zwar, wenn ich einfach auf den Button klicke und es steht nichts in textfeld, dann kommt eine fehlermeldung mit Type mismatch: '[string: ""]'.
wie kann ich das abfangen
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
<% if Request.Querystring ("suche1") then dim var var = Request.Form("test") & Request.QueryString("suche1") call dbconnect() set Rst = Conn.Execute ("SELECT pic_link FROM pic Where pic_m Like'%" & var & "%'")%> <td width="984" height="650"><img src="<%=Rst(0)%>" width="984" height="650"/></td> <%Rst.Close Set Rst = Nothing call dbclose() else%> <td width="984" height="650"><img src="foto/first.jpg" width="984" height="650"/></td> <% end if%>Gruss Sly
-
Hi
gib den Parametern mal korrekte Namen.
Du fragst den QueryString ab, dabei sollte dort immer ein Wert über die Links übergeben werden. Wenn Du auf den Button klickst und das Formularfeld ist leer, dann musst Du dieses Feld abfragen.
Code :1 2 3 4
if Request.Form("suche") <> "" then dim strSuche strSuche = Request.Form("suche") & Request.QueryString("suche") ....liebe Grüße, die Luzie
-
Hallo Luzie
Habs geschafft danke
jetzt muss ich das mit dem weiterblättern programmieren, ich werde mich vorerst mal durchlesen wie das am besten geht dass ich dem recordset sage das er mir das nächste bild auf die nächst höhere id laden soll,und die daten in einer variable mitgeben kann.
Ich möchte nicht nur einfach einen code haben , ich möchte es eben auch gerne verstehen....und vorallem AUCH SELBST PROGRAMMIEREN ...
danke nochmals für die guten und verständlichen tips.Gruss Sly
Ähnliche Themen
-
Chaos im CSS-Validator
Von Dennis Wronka im Forum CSSAntworten: 2Letzter Beitrag: 06.03.09, 08:33 -
Chaos
Von DocShade im Forum Bildbearbeitung & IllustrationAntworten: 12Letzter Beitrag: 19.03.08, 16:17 -
Font-Chaos
Von feininger im Forum PhotoshopAntworten: 2Letzter Beitrag: 05.01.08, 14:13 -
Chaos
Von DocShade im Forum Bildbearbeitung & IllustrationAntworten: 2Letzter Beitrag: 23.03.07, 10:18 -
Bruhes Chaos
Von Paraneuros im Forum PhotoshopAntworten: 3Letzter Beitrag: 02.11.05, 22:07





Zitieren
Login





