Avatar billede Slettet bruger
12. september 2006 - 16:07 Der er 5 kommentarer

Tilføj kategori til database

Jeg en form hvor jeg tilføjer filmnavn, beskrivelse og billede til en database og vil gerne have kategori med så man kan klikke i et afkrydsningsfelt efter hvilket klip det er. (Action, sjov, tegnefilm m.v.)

Ved ikke om det er nemmere at lave uden det jeg har lavet i forvejen hvis det er for forvirrende?

Jeg har følgende form og koden:

<FORM METHOD="POST" ACTION="klip.asp" ENCTYPE="multipart/form-data">

Film beskrivelse<textarea name="beskrivelse" </textarea><br><br>
Fil:<br>
<INPUT TYPE="FILE" NAME="FILE1" SIZE="54"><BR><br>
</font>
<INPUT TYPE="SUBMIT" VALUE="Upload">
</form>

Og selve koden:

<%
Set Upload = Server.CreateObject("Persits.Upload.1")

Upload.OverwriteFiles = False
On Error Resume Next

Upload.SetMaxSize 10048576 ' Limit files to 1MB
Count = Upload.Save(Server.MapPath("/film"))
%>
<HTML>
<BODY BGCOLOR="#FFFFFF">
<CENTER>

<% If Err <> 0 Then %>

<FONT SIZE=3 FACE="Arial" COLOR=#0020A0>
<H3>The following error occured while uploading:</h3>
</FONT>

<FONT SIZE=3 FACE="Arial" COLOR=#FF2020>
<h2>"<% = Err.Description %>"</h2>
</FONT>

<FONT SIZE=2 FACE="Arial" COLOR="#0020A0">
Please <A HREF="aspupload.asp">try again</A>.
</FONT>

<% Else %>
<FONT SIZE=3 FACE="Arial" COLOR=#0020A0>
<h2>Success! <% = Count %> file(s) have been uploaded.</h2>
</FONT>

Uploaded File
<% For Each File in Upload.Files
filename = File.FileName %>
<TD><B><% = File.OriginalPath %></B></TD>
<% =File.Size %> bytes</TD>
<% =File.OriginalSize %> bytes</TD><TR>

<%
' Formaterer teksten

strbeskrivelse = Replace(Upload.Form("beskrivelse"),"'","´")
strbeskrivelse = Replace(strbeskrivelse,vbCrLf,"<br />")

' Tilfojer til databasen
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("klip.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM upload "
rs.Open Addera, Connect, 3, 3

rs.addnew
rs("filnavn") = File.FileName
rs("beskrivelse") = strbeskrivelse
rs.update
rs.close

response.write("Filen er nu tilføjet til databasen")

Next

End if
%>

</TABLE>


</CENTER>
</BODY>
</HTML>
Avatar billede madeindk Nybegynder
12. september 2006 - 16:57 #1
Så skal du jo blot lave et felt i din database der hedder kategori og så tilføje følgende i din HTML kode ekstra.

<select name="kategori">
<option value="Sjov">Sjov</option>
<option value="Action">Action</option>
</select>

Osv...

Indsæt derefter:

' Tilfojer til databasen
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("klip.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM upload "
rs.Open Addera, Connect, 3, 3

rs.addnew
rs("filnavn") = File.FileName
rs("beskrivelse") = strbeskrivelse
rs("kategori") = request.form("kategori")
rs.update
rs.close

response.write("Filen er nu tilføjet til databasen")
Avatar billede madeindk Nybegynder
12. september 2006 - 16:58 #2
Hov, nej - skriv: Upload.Form("kategori") fremfor request.form("kategori")
Avatar billede Slettet bruger
12. september 2006 - 17:37 #3
Hey. Tak for hjælpen. Det duer bare. :-)
Hvad når jeg skal udskrive det i de forskellige kategorier så skal jeg vel have lavet en IF sætning et sted i min kode? Jeg har givet dem 1-6 efter hvilken kategori er.

Hvis jeg vil have skrevet f.eks. kategori 1 ud i dene kode?
(Håber du kan overskue det) :-)

Jeg har følgende
<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM sport ORDER BY tid DESC"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("klip.mdb")
rs.Open strSQL, strDSN, 1

If Not (rs.BOF Or rs.EOF) Then

    rs.PageSize = 10
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
%>
<b><font size="4" face="Verdana">Udskriv </font></b><font size="2">
<%
    Response.Write "(Side " & intPage & " af " & intPageCount & ")" & ""
    %>
    <hr color="#BD5939">
    <%
    Do While Not rs.EOF And intRecCount > 0
%>

<div align="center">
    <table border="0" width="100%" id="table3">
    <tr>
    <td valign="top" bgcolor="#F8EBC5">   
<a href=<%=rs("filnavn")%>&id=<%=rs("id")%>"><font size="2" face="Verdana">
<b><span style="text-decoration: none"><%=rs("beskrivelse")%></span></b></font><font size="2"><span style="text-decoration: none">
<br>
<font size="1" face="Verdana">
Vist <%=rs("klik")%> gange - Tilføjet d. <%=rs("tid")%>
    </span>
    </td>
  </tr>
</table>

<hr color="#BD5939">

    <%
        intRecCount = intRecCount - 1
        rs.MoveNext
    Loop

End If

rs.Close
Set rs = Nothing

Response.Write "<p><strong>Gå til side</strong> "

For intNum = 1 To intPageCount
    Response.Write "<a href=""?menu=arkade&page=" & intNum & """>" & intNum & "</a> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=""?menu=arkade&page=" & intPage - 1 & """>&lt;&lt;</a>"
Else
    Response.Write "&lt;&lt;"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=""?menu=arkade&page=" & intPage + 1 & """>&gt;&gt;</a> "
Else
    Response.Write "&gt;&gt;"
End If

%>
<br>
Avatar billede madeindk Nybegynder
12. september 2006 - 17:49 #4
Er det så ikke bare: strSQL = "SELECT * FROM sport WHERE lCase(kategori) = " & lCase(request.querystring("kategori")) & " ORDER BY tid DESC " fx.

Hvis du fx. skriver side.asp?kategori=action
Avatar billede Slettet bruger
06. oktober 2006 - 11:08 #5
Så er jeg tilbage på tråden.. Har lige haft lidt andet at se til.. :-)
Hænger du stadig på? Kan jeg give dig point og stadig kommeterer i tråden?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester