Hej jag har gjort ett forum.. sen har jag ett kategori system så om man trycker på tex övrigt så vill jag att den bara ska visa alla inlägg som ligger i kategorin övrigt men hur gör jag för att bara visa dom som till hör kategorin ?? Jag antar att du har en databas och att du har en enskild tabell för kategorier och en annan för tex inlägg. okej.. ska förklara lite bättre nu.. Oj... för det först får jag huvudvärk av all kod. hmmm... ne om man Som jag fattar det så vill du klicka på en kategori i en combobox eller listbox. Därifrån vill du sedan lista alla dina titlar under kategorin på sidan Forum_Show.asp. Titlarna här är klickbara och öppnar inlägget under vald titel. japp men de e som så här att jag har testat din kode.. OK... prova denna sats i Forum_show.asp. Den där blev nog inte rätt vid närmare eftertanke. Vi provar igen då. PÅ viken rad ska kja ha den ii på vilekn sida ?? forum_show.asp eller forum? "SELECT * FROM tblForum,tblAmnen WHERE tblAmnen.amne = tblForum.amne AND tblAmnen.amne = " & Request.QueryString("amne") & " ORDER BY tblForum.ID DESC" samma fel.. Lägg till två enkel appostrofer runt '" & Request.QueryString("amne") & "' så här. Prova nu då. okj. kan testa de senare i kväll hoppas du e inne då för jag ska i väg nu kommer OKej.. men du det går inte så bra de heller.... Den SQL satsen du skickade med i ditt sista meddelande är den som jag skrev mo tidigare som saknar et n i tabellnamnet tblAmne. okej.. Men du.. nu visar han ingen ting inte ens i edn kategorin där jag har skrivit ett inlägg..menar att i den kategorin där jag har skrivit ett in lägg där vissas inget inlägg.. Gjorde du om listboxen som jag skrev med javascript och allt i forum.asp Jag använder inte den boxen. för den boxen som du sa att jag skulle ersätta de va den som man valde i vilken kategori inläggte skulle hamna i så jag gjorde så här i stället "><%=rs2("amne")%> GÖR OM DIN select TILL DENNA select Du verkar ha sopat bort den raden som ger dig kategorin och endast sparat själva loopen. Lägg in nedanstående kod istället för den du har idag på samma plats.Visa bara...
//MIkaelSv: Visa bara...
Kategorier = tblKategorier
Inlägg = tblInlagg
"SELECT * FROM tblInlagg, tblKategorier WHERE tblKategorier.IDKategori = tblInlagg.IDKategori AND tblKategori.Kategori LIKE " & Request.Form("Övrigt")
Bör väl funka bra!
PeterSv: Visa bara...
Jag har ett forum med ett kategori system..
Och så ska man trycka på en kategori i scriptet
forum.asp sen ska man komma till sidan forum_show.asp
Och på den sidan ska han visa alla Inläggen som ligger i den kategorin
som du valde i forum.asp... Sen ska det även stå i vilken kategori man befinner
sig i... så nu ska jag göra det lätt för er... så nnu tänker jag skriva ut koden ..
Forum.asp
<!--#include file="settings.asp" -->
<BR>
<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500" height="25">
<tr>
<td height="1" width="247" bgcolor="#CCCCCC"><b><font size="2">Forum
regler</font></b></td>
<td height="1" width="250" bgcolor="#CCCCCC"><b><font size="2">Extra
funktioner + hjälp</font></b></td>
</tr>
<tr>
<td height="75" width="247" bgcolor="#DFDFDF">Detta webbhorumet ä till för
er som har problem eller något som har med webbutveckling att göra.Sen glöm
inte att lägga din tråd i rätt kategori. Du får inte skriva något naziztiskt
rasistiskt. Sen hoppas jag att alla ni som använder detta forumet förstår
lite vad som gäller i ett forum. ha det så kul.<br>
<br>
/webbmastern </td>
<td height="44" width="250" bgcolor="#DFDFDF">Tillåtna HTML koder<br>
Starta ny tråd<br>
Information<br>
Forum faq<br>
Hjälp</td>
</tr>
</table>
<BR>
<p>
<BR>
</p>
</center>
<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500" height="1" bgcolor="#CCCCCC">
<tr>
<td height="0" width="336"><b> <font size="2">Kategorier:</font></b><font size="2"> </font></td>
</tr>
</table>
</center>
<%
' skapa en databas kopling till våran databas
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db/forum/forum.mdb")
' ställer frågan om vi ska spara en tråd ?
if request.QueryString("action") = "spara" then
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM tblForum"
rs.Open Addera, Connect, 3, 3
' skapar en ny rad i tabellen
rs.addnew
rs("namn") = request.form("namn")
rs("email") = request.form("email")
rs("amne") = request.form("amne")
rs("titel") = request.form("titel")
rs("med") = request.form("med")
rs("org") = "ja"
rs("datum") = now
rs("senaste") = now
rs("IP") = Request.ServerVariables("REMOTE_ADDR")
rs.update
'stänger allt efter oss
rs.close
connect.close
set rs = nothing
set connect = nothing
%>
<%
' länkar tillbaka till forum.asp
response.Redirect "default.asp?category=forum"
'avslutar frågan
end if
'öppnar ämnes tabellen
Set rs2 = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM tblamnen order by amne desc"
rs2.Open Addera, Connect, 3, 3
'börjar loopa igenom alla ämnena
do until rs2.eof
%>
<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500" height="1" bgcolor="#DFDFDF">
<tr>
<td height="0" width="99" bordercolor="#ffffFF"><font size="2"><%=rs2("amne")%></font> </td>
</tr>
</table>
</center>
<%
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT top 5 * FROM tblForum where amne='"&rs2("amne")&"' order by id desc"
rs.Open Addera, Connect, 3, 3
%>
<center>
<%
' och stänger den tabellen
rs.close
set rs = nothing
' lägger in två nya raden så det inte blir så grötigt :)
response.write ""
' loopen börjar om genom ämnena.
rs2.movenext
loop
' stänger tabellen för ämnena
rs2.close
set rs2 = nothing
' nu gör vi ett formulär
%>
<script language="JavaScript">
<!--
function validate()
{
if (!document.form.namn.value.length) {
alert('Du måste ange ditt namn...');
return false;}
if (!document.form.titel.value.length) {
alert('Du måste ange en rubrik...');
return false;}
if (!document.form.med.value.length) {
alert('Du måste ange en text..');
return false;
}
//du kan lägga till fler if-satser
return true;
}
-->
</script>
</p>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500">
<tr>
<td bgcolor="#CCCCCC"><b><font size="2">Skriv en tråd...</font></b></td>
</tr>
<tr>
<td bgcolor="#DFDFDF"><center>
<form name="form" method="post" action="default.asp?category=forum&action=spara" onSubmit="return validate();">
Ditt namn:<br>
<input name="namn" type="text" size="50">
<br>
Min email:<br>
<input name="email" type="text" size="50">
<br>
Kategori:<br>
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<select name="amne">
<%
' loopar igenom alla ämnena
Set rs2 = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM tblamnen order by amne desc"
rs2.Open Addera, Connect, 3, 3
do until rs2.eof
%>
<option value="<%=rs2("amne")%>"><%=rs2("amne")%></option>
<%
rs2.movenext
loop
%>
</select>
<br>
Rubrik:<br>
<input name="titel" type="text" size="50">
<br>
Inlägg:<br>
<textarea name="med" cols="50" rows="10"></textarea>
<br>
<input type="submit" name="Submit" value="Skicka">
</form>
</center>
</td>
</tr>
</table>
<%
' stänger databasen för att loopa igenom ämnena
rs2.close
set rs2 = nothing
connect.close
set connect = nothing
%>
</center>
<BR>
<BR>
</body>
</html>
Forum_show.asp
<center>
<%
'öppnar databasen
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db/forum/forum.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM tblForum order by id desc"
rs.Open Addera, Connect, 3, 3
Set rs2 = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM tblamnen order by amne desc"
rs2.Open Addera, Connect, 3, 3
'Skapar en variabel
titel = rs("titel")
do until rs.eof
%>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500" height="35">
<tr>
<td height="18">Här ska de stå i vilken kategori man e i..</td>
</tr>
<tr>
<td height="17">"><%=rs("titel")%></td>
</tr>
</table>
<p>
<%rs.movenext
loop
'stänger databasen efter oss
rs.close
connect.close
set rs = nothing
set connect = nothing
%>
Tillbaka </p>
</center>
<BR>
</body>
</html>
Så de va allt jag skulle bli jätte glad för ett snabbt svar .. //MikaelSv: Visa bara...
För det andra tror jag mig veta vad du vill ha ut.
För det tredje får du väl se hur långt du kommer med mitt förslag till lösning.
///Forum.asp
LÄGG IN DETTA SCRIPT NÅGONSTANS mellan <head></head>
<script language="JavaScript">
<!--
function jumpMenu(targ,selObj,restore)
{
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
GÖR OM DIN select TILL DENNA select
<form name="amne">
<select name="amne" onChange="jumpmenu('parent',this,1)">
<option selected>Välj ämne</option>
<%
Do While Not rs2.EOF
%>
<option value="Forum_show.asp?id=<%=rs2("amne")%>"><%=rs2("amne")%></option>
<%
rs2.MoveNext
Loop
%>
</select>
</form>
///Forum_Show.asp
<center>
<%
'öppnar databasen
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db/forum/forum.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
JAG VET INTE MYCKET OM DIN DATABAS MEN DETTA KANSKE FUNKAR. DU FÅR KORRIGERA.
Addera = "SELECT * FROM tblForum order by id desc"
rs.Open Addera, Connect, 3, 3
VAD SKALL DU MED DENNA VARIABELN TILL?
'Skapar en variabel
titel = rs("titel")
%>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500" height="35">
<tr>
<td height="18"><%=Request.QueryString("amne")%></td>
</tr>
<%
do until rs.eof
<tr>
<td height="17">"><%=rs("titel")%></td>
</tr>
</table>
<p>
<%rs.movenext
loop
'stänger databasen efter oss
rs.close
connect.close
set rs = nothing
set connect = nothing
%>
Tillbaka </p>
</center>
<BR>
</body>
</html>
Ungefär tror jag... du får labba lite med den.Sv: Visa bara...
trycker på eller väljer tex: Övrigt så vissas ala inlägg i hela databsen...
sen de där javascriptet de bestämmer bara i vilken ram de ska hamna va ??
//MikaelSv: Visa bara...
Jag ser tre steg: 1. Välj kategori, 2. Lista alla titlar under kategorin, 3. Öppna och läs inlägg under vald titel.
Javascriptet skickar dig direkt till Forum_Show.asp efter vald kategori.
Prova och se hur långt du kommer med mitt förslag. Jag säger inte att det är perfekt redan från början men du kommer kanske vidare mot ditt mål om du skruvar lite på det.
Lycka till!Sv: Visa bara...
men den funkar inte för när man ska visa alla titlar i den kategorin man beffinersig i så visas alla titlar som finns även dom som ligger i den annan kategori...
/MikaelSv: Visa bara...
SELECT * FROM tblForum, tblamnen WHERE tblamnen.amnen LIKE " & Request.QueryString("amnen") & "order by id desc"Sv: Visa bara...
Kan jag få dina två tabeller tblForum och tblAmnes alla fältnamn. Alla fältnamn så skall jag försöka igen. Det måste finnas en referens i tblForum till tblAmne.Sv: Visa bara...
Prova "SELECT * FROM tblForum,tblAmne WHERE tblAmne.amne = tblForum.amne AND tblAmne.amne = " & Request.QueryString("amne") & " ORDER BY tblForum.ID DESC"
Se hur långt du kommer med denna sats. Sv: Visa bara...
Om de va på forum_show.asp så får jag detta fel medelandet
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'tblAmne.amne = tblForum.amne AND tblAmne.amne ='.
/sweasp/gammal/Forum_show.asp, line 10 Sv: Visa bara...
Lägg in denna i Där du har din ursprungliga SQL i Forum_Show.asp
Den förra satsen du fick saknade ett n i Amnen så ta denna här ovanförSv: Visa bara...
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'tblAmnen.amne = tblForum.amne AND tblAmnen.amne ='.
/sweasp/gammal/Forum_show.asp, line 10 Sv: Visa bara...
Sv: Visa bara...
hem vid 16.00 /mikaelSv: Visa bara...
nu får jag detta felmedlenadet ....
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/sweasp/gammal/Forum_show.asp, line 9
Addera = "SELECT * FROM tblForum,tblAmne WHERE tblAmne.amne = tblForum.amne AND tblAmne.amne = '" & Request.QueryString("amne") & "' ORDER BY tblForum.ID DESC"
------------------------------------------------------------------------------------------------------^
/MikaelSv: Visa bara...
Använd bara den satsen om du lägger till ett n i slutet av tblAmne. Din tabell heter tblAmnen.
Gör så här... satsen som nu här nedanför skall du använda. Ingen annan.
"SELECT * FROM tblForum,tblAmnen WHERE tblAmnen.amne = tblForum.amne AND tblAmnen.amne = " & Request.QueryString("amne") & " ORDER BY tblForum.ID DESC"
Se nu till att & tecknen förblir & tecken och inte skrivs ut som &
Prova nu.Sv: Visa bara...
<font face="Verdana" size="1"><br>
</font>
<center>
<%
'öppnar databasen
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db/forum/forum.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM tblForum,tblAmnen WHERE tblAmnen.amne = tblForum.amne AND tblAmnen.amne = '" & Request.QueryString("amne") & "' ORDER BY tblForum.ID DESC"
rs.Open Addera, Connect, 3, 3
%>
<%
do until rs.eof
%>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="344">
<tr>
<td bgcolor="#DFDFDF" width="500" height="26">"><%=rs("titel")%> </td>
</tr>
</table>
<%rs.movenext
loop
'stänger databasen efter oss
rs.close
connect.close
set rs = nothing
set connect = nothing
%>
<br>
Tillbaka </font> </p>
</center>
<font face="Verdana" size="1">
<BR></font>Sv: Visa bara...
Måste iväg nu. Kollar längre fram hur det gåttSv: Visa bara...
Sv: Visa bara...
<form name="amne">
<select name="amne" onChange="jumpmenu('parent',this,1)">
<option selected>Välj ämne</option>
<%
Do While Not rs2.EOF
%>
<option value="Forum_show.asp?amne=<%=rs2("amne")%>"><%=rs2("amne")%></option>
<%
rs2.MoveNext
Loop
%>
</select>
</form>
Det kanske står <option value="Forum_show.asp?id=<%=rs2("amne")%>"><%=rs2("amne")%></option> i den första selecten du fick av mig.
Byt alltså ut id i denna sträng till amne.
Prova nu då...
Nu måste jag gå..Sv: Visa bara...
Leta reda på koden hos dig och jämför med denna. Rätta till olikheterna eller lägg in hela denna snutt över den du har idag på samma plats.
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500" height="35">
<tr>
<td height="18"><%=Request.QueryString("amne")%></td>
</tr>
<%
do until rs.eof
<tr>
<td height="17">"><%=rs("titel")%></td>
</tr>
</table>
<p>
<%rs.movenext
loop