06. november 2003 - 13:20Der er
18 kommentarer og 1 løsning
Kalde data fra DB som links i alfabetiskorden
Hej! Nu prøver jeg lige at sætte nogle flere point på højkant, i håbet om at få hjælp snarest, da dette er ved at være en hastesag!
Er der nogen, der kan fortælle mig, hvad det er jeg skal rette i mit nedenstående script for at få linksne af mine opskrifter tilbage fra min DB i alfabetiskorden?
sign_opskrifter.asp (indeholder min formular): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Systematics homekitchen</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/JavaScript"> <!--
function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } //--> </script> <script language="JavaScript">window.status = ""</script> <script language="javascript" src="validering_kokken.js"></script>
add_opskrift.asp (tilføjer opskrifter. P.t. spytter den bare alle opskrifterne ud med detaljer, hvor jeg ønsker det kun er titlen, så man kan klikke sig videre på den ønskede): <style type="text/css"> <!-- @import url("systematic.css"); --> </style> <%
'Set the response buffer to true as we maybe redirecting Response.Buffer = True
strMode = request.form("strMode")
'If the session variable is False or does not exsist then redirect the user to the unauthorised user page If strMode <> "new_comment" then 'Redirect to user start page Response.Redirect "index.asp" End If
'Dimension variables Dim strInputComments 'Holds the Users comments Dim saryCommentWord 'Array to hold each word in the comments enetred by the user Dim intCheckWordLengthLoopCounter 'Loop counter Dim intWordLength 'Holds the length of the word to be checked Dim blnWordLenthOK 'Boolean set to False if any words in the description are above 80 characters Dim intLongestWordLength 'Holds the number of characters in the longest word entered in the
'Read in user deatils from the kokken (DB users.db) form strInputComments = Request.Form("text")
'Split-up each word in the comments from the user to check that no word entered is over 50 characters saryCommentWord = Split(Trim(strInputComments), " ")
'Initialse the word length variable blnWordLenthOK = True
'Loop round to check that each word in the comments entered by the user is not above 70 characters For intCheckWordLengthLoopCounter = 0 To UBound(saryCommentWord)
'Initialise the intWordLength variable with the length of the word to be searched intWordLength = Len(saryCommentWord(intCheckWordLengthLoopCounter))
'Get the number of characters in the longest word If intWordLength => intLongestWordLength Then intLongestWordLength = intWordLength End If
'If the word length to be searched is more than or equal to 70 then set the blnWordLegthOK to false If intWordLength => 80 Then blnWordLenthOK = False End If Next
if comment = "" then comment = "Der er ikke indtastet nogen opskrift!" end if
Rec.Addnew Rec("nick") = navn Rec("email") = email Rec("text") = comment Rec("dato") = dato Rec("tid") = tid REC.Update
Rec.close set Rec=nothing Response.redirect "opskrifter.asp"
else Session("error") = true Session("message") = "Beklager, men det er ikke lovligt at taste over 46 tegn!" Response.redirect "sign_opskrifter.asp" end if %>
opskrifter.asp (Siden hvor det vises, efter det er kaldt): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Systematics køkken</title> <META NAME="Generator" CONTENT="Stone's WebWriter 3.5"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- @import url(test/systematic.css); --> </style> <style> BODY { SCROLLBAR-FACE-COLOR: #ffffff; SCROLLBAR-HIGHLIGHT-COLOR: #ff0000; SCROLLBAR-SHADOW-COLOR: #cccccc; SCROLLBAR-3DLIGHT-COLOR: #DFDFDF; SCROLLBAR-ARROW-COLOR: #ff0000; SCROLLBAR-TRACK-COLOR: #ffffff; SCROLLBAR-DARKSHADOW-COLOR: #ffffff } </style> <style type="text/css"> <!-- @import url("systematic.css"); --> </style> </head>
' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("users.mdb") Conn.Open DSN
' SQL forespørgsel - asc = sætter opskrifterne i alfabetisk rækkefølge i forhold til 'nick' = navn på opskrift strSQL = "Select * from opskrifter order by nick asc"
' Udfør forespørgsel (objRec indeholder nu resultatet) Set objRec = Conn.Execute(strSQL)
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
Nej, for endnu kommer de jo ikke frem som links. Men du har ret at p.t. kommer de alfabetisk, men jeg vil bare gøre opmærksom på, at det skal de også når de kommer som links.
du må næsten have en unik nøgle i din opskrifttabel, og hedder den id og du bruger ovenstående linie kaldes siden "opskrift.asp" med id'et på den bestemte post.
"opskrift.asp" skal bare indeholde næsten det samme som din "opskrifter.asp" gør nu - sql'en skal bare se sådan ud;
strSQL = "Select * from opskrifter WHERE id = " & request.querystring("id")
If Len(strKeyword) = 0 Then ' Hvis der ikke er skrevet i feltet 'Response.Clear Response.Redirect("opskrifter.asp") Else ' Hvis der er skrevet i feltet strKeyword = Replace(strKeyword,"'","''") End If
' Opbygger en dynamisk SQL streng strSQL = "SELECT ID, nick, text, dato, tid, id FROM opskrifter WHERE" strSQL = strSQL & " (nick LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (text LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (dato LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (tid LIKE '%" & strKeyword & "%')"
' Skaber DSNLess forbindelse til DB'en strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("users.mdb") Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open strDSN
' Skaber et recordset udfra SQL strengen Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then
' Hvis der er fundet poster på søgningen Response.Write "<table border=0>" Do While Not rs.EOF
rs.MoveNext Loop Else ' Hvis der ikke er fundet poster på søgningen Response.Write "<p><span class=""broedtxt"">Beklager, der er desværre intet resultat på søgningen!</span></p>" End If
' Rydder op efter os myConn.Close Set myConn = Nothing %> </td> </tr> </table></td> </tr> </table></td> </tr> </table>
Ja, jeg har lige prøvet det nu skrev Keysersoze. Jeg har været væk et par dage, så beklager jeg først har set på det nu. Hvis jeg forstår, det du skriver ret, så har jeg nu oprettet mig en ny fil, der hedder opskrift.asp, som skulle indeholde mine opskrifter kun med titlen, men jeg kan desværre ikke få det til at virke. Og ja, jeg gør sikkert noget helt forkert. Der skal vel laves en del om i både min opskrifter.asp og min opskrift_link.asp, som vist nedenunder, fordi min opskrifter skal jo vise selve opskriften, når der klikkes på et link i opskrift_link.asp, hvor den lige nu viser ALLE opskrifter???
' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("users.mdb") Conn.Open DSN
' SQL forespørgsel - asc = sætter opskrifterne i alfabetisk rækkefølge i forhold til 'nick' = navn på opskrift strSQL = "Select * from opskrifter WHERE id = " & request.querystring("id")
' Udfør forespørgsel (objRec indeholder nu resultatet) Set objRec = Conn.Execute(strSQL)
' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("users.mdb") Conn.Open DSN
' SQL forespørgsel - asc = sætter opskrifterne i alfabetisk rækkefølge i forhold til 'nick' = navn på opskrift strSQL = "Select * from opskrifter order by nick asc"
' Udfør forespørgsel (objRec indeholder nu resultatet) Set objRec = Conn.Execute(strSQL)
du har heller ikke gjort alt det jeg skrev... på den side der kun skal vise den specifikke opskrift skal du have tilføjet en WHERE-statement. Dvs i stedet for fx
strSQL = "Select * from opskrifter order by nick asc"
der tager alle opskrifter - skal din sql i stedet se ca sådan ud;
strSQL = "Select * from opskrifter WHERE id = " & request.querystring("id")
' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("users.mdb") Conn.Open DSN
' SQL forespørgsel - asc = sætter opskrifterne i alfabetisk rækkefølge i forhold til 'nick' = navn på opskrift strSQL = "Select * from opskrifter WHERE id = " & request.querystring("id")
' Udfør forespørgsel (objRec indeholder nu resultatet) Set objRec = Conn.Execute(strSQL)
' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("users.mdb") Conn.Open DSN
' SQL forespørgsel - asc = sætter opskrifterne i alfabetisk rækkefølge i forhold til 'nick' = navn på opskrift strSQL = "Select * from opskrifter order by nick asc"
' Udfør forespørgsel (objRec indeholder nu resultatet) Set objRec = Conn.Execute(strSQL)
Jeg gør sikkert et eller andet helt galt, men som jeg heller aldrig har lagt skjul på, så er jeg IKKE nogen haj til .asp og kræver det derfor ret så forklaret. Håber dog du eller en anden vil hjælpe mig med dette? Skal du eller hvem der nu vil være så sød at hjælpe bruge mere end de to filer, så lad mig vide af det og jeg kan evt. maile det frem.
Jamen, jeg får mig bare en fejl, som ikke rigtig kan bruges til noget. Og nej, det er lidt svært at se online, da kunden går indpå det en af dagene. Så p.t. ser han bare alle opskrifterne ud i en smøre, hvor jeg ønsker dem som links. Jeg ved ikke, om det bare er svært at lave eller jeg ikke kan finde ud af at forklare mig? Men jeg fik tidlige hjælp til at det skulle fungere for min søgefunktion, hvilket det også gør nu, men jeg kan desværre ikke finde ud af at bruge det i opskrifterne. Er det nok forklaring?
Vil du have mine filer og rette dem til, så det kører, hvis det er nemmere? Jeg troede bare, du prøvede det af på din egen IIS-server eller hvad den nu hedder?
det gør jeg også - men jeg er kun interesseret i at hjælpe og ikke lave noget for nogle medmindre de betaler...
hvis opskrifter.asp er den der specifikt viser én enkel opskrift og opskrift_link.asp er den der viser listen, så skal du bytte om på sql'erne i de to scripts
og så fortæller den fejl en hel masse - den fortæller at der mangler en parameter i ens sql.
mht betaling såh - point kan ikke betale min husleje, såh ;)
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.