FRÅGA1! har du någon ASP kod klar? eller är det bara databasen du har än så länge?
FRÅGA2! Hur skall du uppdatera databasen? via ASPScript eller skriva rakt in i databasen??
det jag kan säga på rak arm så här är att du måste skapa en relation mellan de två tabellerna(om du nu inte redan har det??). Du behöver egentligen inte ha något speciellt fält för URL (om du inte kommer att byta namn på mappen hela tiden?)detta anger du i ASP i stället!
?2 Hvis muligt ville det være bedst at opdatere via ASP
Relation mellem de to tabeller er skabt. Jeg benytter en tredje tabel KUNSTNER_KUNSTVÆRK til at forbinde de to mange-til-mange-relationer: SELECT KUNSTNER.KunstnerID, KUNSTNER.Fornavn, KUNSTNER.Efternavn, KUNSTVÆRK.KunstværkID, KUNSTVÆRK.Titel, KUNSTNER_KUNSTVÆRK.KunstnerID, KUNSTNER_KUNSTVÆRK.KunstværkID FROM KUNSTNER, KUNSTVÆRK, KUNSTNER_KUNSTVÆRK WHERE KUNSTNER.KunstnerID=KUNSTNER_KUNSTVÆRK.KunstnerID AND KUNSTVÆRK.KunstværkID=KUNSTNER_KUNSTVÆRK.KunstværkID
Som du kan se har jeg droppet URL-feltet nu hvor du siger den ikke er nødvendig...
hmm..den där relationen är den många till många?? man får resonera lite såhär först kan vi börja med databasen!! en konstnär kan ha många olika konstverk,medans ett konstverk inte kan ha mer en en konstnär!!? så därför borde relationen bli en(ifrån konstnär) till många(konstverk) sedan skulle du kunna lägga till ett fält i tabellen konstverk som heter \"KunstnerID\",ge det formatet \"tal\"(långt heltal), där kommer Knonstnärens unika ID att lagras!!
Relationen er en mange til mange fordi databasen også skal kunne håntere kunstnere fra en særlig kunstgruppe (Cobra) - der ofte malede kollektive værker, hvor flere kunstnere var sammen om det samme billede
Jeg har lagt siderne, mappen Files, og databasen hos Brinkster.com. Har iøvrigt lavet databasen med engelske titler istedet og forsøgt at komme så langt som muligt med koden:
SELECT ARTIST.Firstname, ARTIST.Surname, ARTWORK.ArtworkID, ARTWORK.OriginalTitle, ARTWORK.Year, ARTWORK.Size, GENRE.Genre, MEDIA.Media FROM ARTIST, ARTWORK, ARTIST_ARTWORK, MEDIA, GENRE WHERE ARTIST.ArtistID=ARTIST_ARTWORK.ArtistID AND ARTWORK.ArtworkID=ARTIST_ARTWORK.ArtworkID AND ARTWORK.MediaID=MEDIA.MediaID AND ARTWORK.GenreID=GENRE.GenreID
Fra en søgeside (search.htm) vil jeg gerne kunne søge på kunstnerens navn (Firstname, Surname), billedtitel (OriginalTitle), (eventuelt også Year og Media), og få et resultat på en ny side (result.asp).
Min søgeside ser ud som denne: -------------------------------------
Min resultatside ser ud som denne: ----------------------------------------- <% Response.Buffer = True %> <html><head> <title>Result of your search</title> </head><body>
<% \' Henter værdien fra search.htm strKeyword = Trim(Request.Form(\"Keyword\"))
If Len(strKeyword) = 0 Then \' Hvis der ikke er skrevet i feltet Response.Clear Response.Redirect(\"search.htm\") Else \' Hvis der er skrevet i feltet strKeyword = Replace(strKeyword,\"\'\",\"\'\'\") End If
\' Opbygger dynamisk SQL streng strSQL = \"SELECT ARTIST.Firstname, ARTIST.Surname, ARTWORK.ArtworkID, ARTWORK.OriginalTitle, ARTWORK.Year, ARTWORK.Size, GENRE.Genre, MEDIA.Media FROM ARTIST, ARTWORK, ARTIST_ARTWORK, MEDIA, GENRE WHERE ARTIST.ArtistID=ARTIST_ARTWORK.ArtistID AND ARTWORK.ArtworkID=ARTIST_ARTWORK.ArtworkID AND ARTWORK.MediaID=MEDIA.MediaID AND ARTWORK.GenreID=GENRE.GenreID AND\" strSQL = strSQL & \" (ARTIST.Firstname LIKE \'%\" & strKeyword & \"%\')\" strSQL = strSQL & \" OR (ARTIST.Surname LIKE \'%\" & strKeyword & \"%\')\" strSQL = strSQL & \" OR (ARTWORK.OriginalTitle LIKE \'%\" & strKeyword & \"%\')\"
\' Skaber forbindelse til databasen Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"\\smidud\\db\\Image.mdb\")
\' Skaber et recordset udfra SQL strengen Set rs = Conn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then \' Hvis der er fundet poster på søgningen Response.Write \"<p>Result of your search</p>\" Response.Write \"<table border=0>\" Response.Write \"<tr><th>Firstname</th><th>Surname</th><th>Title</th><th>Year</th><th>Size</th><th>Media</th><th>Genre</th>\" Do While Not rs.EOF Response.Write \"<tr><td>\" & rs(\"ARTIST.Firstname\") & \"</td>\" Response.Write \"<td>\" & rs(\"ARTIST.Surname\") & \"</td>\" Response.Write \"<td>\" & rs(\"ARTWORK.OriginalTitle\") & \"</td>\" Response.Write \"<td>\" & rs(\"ARTWORK.Year\") & \"</td>\" Response.Write \"<td>\" & rs(\"MEDIA.Media\") & \"</td>\" Response.Write \"<td>\" & rs(\"GENRE.Genre\") & \"</td></tr>\" rs.MoveNext Loop Response.Write \"</table>\" Else \' Hvis søgning ikke finder poster Response.Write \"<p>Sorry.<br>No records were found</p>\" End If
\' Lukker forbindelsen og rydder op Conn.Close Set Conn = Nothing %>
Min result.asp genererer fejl i linie 37 (her angivet ved #FEJL#):
If Not (rs.BOF Or rs.EOF) Then \' Hvis der er fundet poster på søgningen Response.Write \"<p>Result of your search</p>\" Response.Write \"<table border=0>\" #FEJL# Response.Write \"<tr><th>Firstname</th><th>Surname</th><th>Title</th><th>Year</th><th>Size</th><th>Media</th><th>Genre</th>\" Do While Not rs.EOF
Hvorfor gør den det ?
2.
Udover de nævnte data vil jeg også gerne vise et billede på resultatsiden. Billederne ligger i en mappe for sig (Files). De er alle .jpg, og er navngivet med samme nummer som ArtworkID, således at for eksempel ArtworkID=3 har et tilhørende billede der hedder 3.jpg
Hvordan skaber jeg forbindelsen, og viser billederne på min resultatside ?
felet ligger i att du anger en felaktig sökväg till fältet. LINE37 ser ut så här nu: Response.Write \"<tr><td>\" & rs(\"ARTIST.Firstname\") & \"</td>\"
ändra den till: Response.Write \"<tr><td>\" & rs(\"Firstname\") & \"</td>\"
DET VIRKER - 1000 TAK. Nu får jeg resultater på siden (RIGTIGT mange fordi der åbenbart alligevel er noget galt med sql\'en...men det prøver jeg selv at rode med)
Er det sådan at jeg kan lave de billedtitler der dukker frem på resultatsiden om til link, der fører til en side hvor jeg kan vise selve billedet (eventuelt med kunstnerens navn under) ?
på \"minsida.htm\" som du hänvisar till, måste du ha något som fångar upp ID:t som du skickar med länken.lägg detta överst på sidan samt gör om värdet till en sträng som du kan använda: <%strArtID=request.querystring(\"art\")%>
Hej chrille... Kan ikke afprøve lige nu (på job)...afprøver iaften...
Er du på eksperten i weekenden ? Vil gerne give dig 50 point for din hjælp allerede, og så give nogle point særskilt for hjælp til det med billederne :-)
Kan se at du allerede har fået point...håber det er OK. Din hjælp har været SUPER. Kommer garanteret i vanskeligheder i løbet af weekenden, især det der med at få vist billeder...opretter nyt spørgsmål med samme overskrift, når jeg har afprøvet det du skriver i dit seneste svar...
God weekend :-)
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.