M MHZ Medlem sedan apr. 2005 55 inlägg Frågan 7 sep. 2008 10:20 #1 Hej. Jag har problem med ett nyhetsscript jag ville ha en userbid i. Dom har loggat på sidan och fått kakan(namn).
Men hur skriver och sorterar man sql satsen för att få allas avatarbild i sin nyhet?
Just nu visar den ingenting :(
_______________
tabellen - user
user_id
namn
bild
________________
tabellen - nyheter
id
ref_id
datum
nyhet
________________
<%
Dim user
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("data.mdb")
SQL = "SELECT u.namn, n.nyhet FROM nyheter n RIGHT JOIN user u ON n.id = u.user_id WHERE n.ref_id = u.user_id"
Set RecSet = Connect.Execute(SQL)
user = Request.Cookies("namn")
%>
<html>
<table width="450" align="center">
<tr>
<td align="center">Nyheter</td>
</tr>
<table width="450" align="center">
<% Do Until RecSet.EOF%>
<tr>
<td><%=RecSet("bild")%></td>
<td><%=RecSet("nyhet")%></td>
</tr>
<%
RecSet.MoveNext
Loop
Recset.Close
Connect.Close
Set Recset = Nothing
Set Connect = Nothing
%>
</table>
<br>
<table width="450" align="center">
<tr>
<td align="center">Lägg till en nyhet</td>
</tr>
<table width="450" align="center">
<form name="form1" method="post" action="add.asp">
<tr>
<td>Namn:</td>
<td><input type="text" value="<%=user%>" name="namn"size="30"></td>
</tr>
<tr>
<td>Nyhet:</td>
<td><textarea name="nyhet" cols="40" rows="5"></textarea></td>
</tr>
<table width="450" align="center">
<tr>
<td><input type="submit" name="Submit"></td>
</tr>
</table>
</form>
</html>
M MHZ Medlem sedan apr. 2005 55 inlägg Ingen som kan? Detta gickinte heller... Den skriver inte ut nyheten alls.
<%
Dim user
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("data.mdb")
SQL = "SELECT u.namn, n.nyhet FROM nyheter n RIGHT JOIN user u ON n.id = u.user_id WHERE n.id = u.user_id"
Set RecSet = Connect.Execute(SQL)
user = Request.Cookies("namn")
%>
<html>
<table width="450" align="center">
<tr>
<td align="center">Nyheter</td>
</tr>
<table width="450" align="center">
<% Do Until RecSet.EOF%>
<tr>
<td><%=RecSet("bild")%></td>
<td><%=RecSet("nyhet")%></td>
</tr>
<%
RecSet.MoveNext
Loop
Recset.Close
Connect.Close
Set Recset = Nothing
Set Connect = Nothing
%>
</table>
</html>
L Ledel Medlem sedan dec. 2004 736 inlägg Vad har nyhetens ID med user_id att göra? Ska den kopplingen finnas?
M MHZ Medlem sedan apr. 2005 55 inlägg Skriver jag så här:
SQL = "SELECT u.namn, n.nyhet FROM nyheter n RIGHT JOIN user u ON n.ref_id = u.user_id"
Får jag fel på
<td><%=RecSet("bild")%></td>
Den klarar inte att läsa från bild i tabell user då??
L Ledel Medlem sedan dec. 2004 736 inlägg Du hämtar aldrig ut "bild" ur din user-tabell.
Skriv:
SQL = "SELECT u.namn, [b]u.bild[/b], n.nyhet FROM nyheter n RIGHT JOIN user u ON n.ref_id = u.user_id"
M MHZ Medlem sedan apr. 2005 55 inlägg Nu börjar det likna nått ja :) Jag har nu 5st users och det ser ut såhär nu:
bild1 nyhet
bild2
bild3
bild4
bild5
Den loopar alltså ut alla bilder och inte bara bilden till den skapade nyheten
L Ledel Medlem sedan dec. 2004 736 inlägg Använd INNER JOIN istället, så ska det nog fungera som du vill!
SQL = "SELECT u.namn, u.bild, n.nyhet FROM nyheter n INNER JOIN user u ON n.ref_id = u.user_id"