Forfatter |
Emne |
|
[+35]Jumpman
[+35] Server Admin, [+35] Member of COW - G5
Denmark
6728 indl�g |
Skrevet - 03 May 2009 : 15:40:33
|
Jeg har vist skrevet om dette før men kan ikke finde emnet og har nu brug for hjælp igen.
Jeg er ved at lave en nyheds side(test side, tidsfordriv), til dette ville jeg gerne kunne trække de 3 eller 5 sidste nyheder ud fra en mysql database, men ud af dem skal man på siden kun kunne læse de første 50 ord fra hver nyhed, og hvis man så vil læse en af nyhederne skal man klikke på et links efter nyheden for at læse resten alt skal kører fra en mysql database og i .asp
Eks på Database: News_ID News_Text News_Poster
Håber en der lige kan fixe lidt sammen for mig :-) |
|
[+35]Terabyte
[+35] Soldier
Denmark
2730 Posts |
Skrevet - 03 May 2009 : 20:31:06
|
Det kune jo være noget i den stil her (hvis man bruger ren SQL)
select News_ID,
News_Title,
News_Date,
News_Author,
News_Text,
left(News_Text,50) as NyDelHeader
from news
where News_Id in (select top 3 News_Id
from (select News_Id,
News_Date
from news
order by News_Date desc
)
)
Det fungerer i hvertfald i Access - er ikke helt sikker på om det der "TOP" fungerer i MySQL - tror måske man skal bruge LIMIT istedet
I .asp kunne det altså se sådan ud
dim rs, oCn, sql sql = "SQLsætning fra før"
Set oCn=DBConnexion(Databasenavn) set rs = server.createObject("ADODB.recordset") set rs = DBRecordSet(oCn, SQL)
If Not rs.eof Then response.write "<table border=""2"" cellpadding=""2"" cellspacing=""0"" style=""border-collapse:collapse"" bordercolor=""#111111"" width=""100%"">" do until rs.eof Response.Write " <tr>" & vbCRLF response.write "<td><a href='laesnyhed.asp?stid="&rs("NId")&"' style=""text-decoration:none"">" & rs("NyDelHeader") & "</a></td>" response.write "</tr>" rs.movenext loop end if response.write "</table>" rs.close set rs = nothing
Det virker muligvis ikke for godt hvis den tekst der er i feltet News_Text er HTML formateret - så kan det give noget fnidder at man sakser af efter 50 karakterer |
|
|
|
[+35]Jumpman
[+35] Server Admin, [+35] Member of COW - G5
Denmark
6728 Posts |
Skrevet - 04 May 2009 : 07:15:07
|
Takker jeg kigger på det skal nok få det til at virke tak :-) |
|
|
|
[+35]Jumpman
[+35] Server Admin, [+35] Member of COW - G5
Denmark
6728 Posts |
Skrevet - 04 May 2009 : 11:17:45
|
Det virker sku, men mangler en lille detalje, vil være rart vis kun 50 ord af hver nyhed bliver vist, vil man så læse en af nyhederne trykker man på linket for at læse resten :-)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Christiansens Hjemmeside</title>
<meta name="description" content="Christiansens Hjemmeside">
<meta name="keywords" content="Thailand, Familiebilleder, Rengøring">
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div style="margin-top:150px;">
<table width="753" border="0" align="center" cellpadding="0" cellspacing="0" class="b-table">
<tr>
<td>
<!--#include file="banner.asp"-->
</td>
</tr>
<tr>
<td>
<!--#include file="toptekst.asp"-->
</td>
</tr>
<tr>
<td class="body_txt">
<h1>Per & Wirawan's <span class="welcome">Hjemmeside</span></h1>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" valign="top" class="l_cont">
Informationer om familien Christiansens interesser.<br>
<br>Siden er lavet til familien, venner og hvem der ellers kunne være interesserede i at følge os i vores hverdag.<br>
<br>Her på siden finder du også links til alle vores firmaer.<br>
<br>Foto album er kun for familie og venner, du skal have en adgangskode for at se vores billeder.<br>
<br>Vores dagbog bliver opdateret jævnligt.
</td>
<td width="50%" valign="top" class="r_cont">
<p><b>Familie Christiansens Dagbog</b></p>
<div style="border:#0150B3 solid 1px;padding:4px 6px 2px 6px">
<%
Response.Buffer = True
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strConnect
strSQL = "SELECT * FROM PRIVAT_NEWS ORDER BY NEWS_ID"
Set rs = myConn.Execute(strSQL)
If Not rs.eof Then
do until rs.eof
Response.Write "<b><u><em>" & rs("N_DAG") & "</em></u></b>" & "<br>" & rs("N_MESSAGE")
Response.Write "<br><div align=""right""><a href='dagbog.asp?stid=" & rs("NEWS_ID") & "'>Læs resten her</a></div>"
rs.movenext
loop
end if
myConn.Close
Set myConn = Nothing
%>
</div>
</td>
</tr>
</table>
</td>
</tr>
<!--#include file="footer.asp"-->
</table>
</div>
</body>
</html> |
|
Rettet af - [+35]Jumpman @ 04 May 2009 11:55:40 |
|
|
[+35]Terabyte
[+35] Soldier
Denmark
2730 Posts |
Skrevet - 05 May 2009 : 22:31:59
|
Det var derfor jeg i min SQl havde lavet en ny variabel der kun var 50 tegn af Nyheden
Brug denne sql i stedet strSQL = "SELECT *, left(N_MESSAGE,50) as NyDelHeader FROM PRIVAT_NEWS ORDER BY NEWS_ID"
og anvend så den nye variabel i din response.write sætning Response.Write "<b><u><em>" & rs("N_DAG") & "</em></u></b>" & "<br>" & rs("NyDelHeader") |
|
|
|
[+35]Jumpman
[+35] Server Admin, [+35] Member of COW - G5
Denmark
6728 Posts |
Skrevet - 06 May 2009 : 07:33:40
|
Takker det funker sku bare der ud af, det nok 2-3 år siden jeg har hygget mig med at lave hjemmesider så jeg skal lige opdateres lidt igen for jeg kan sku ikke huske alt det hulumhej, nu roder jeg med stylesheet, asp og mysql har dog lidt problemer med at trække dato ud af databasen men det skal jeg nok finde ud af det jo det der gør det sjovt at sidde og programmere hjemmesider for at se resultatet bagefter, siden jeg sidder og laver skal jeg nok bruge i fremtiden når jeg får taget mig sammen til at sige mit job op i SAS. |
|
|
|
[+35]Jumpman
[+35] Server Admin, [+35] Member of COW - G5
Denmark
6728 Posts |
Skrevet - 06 May 2009 : 09:06:12
|
Det kom til at se sådan her ud tak for hjælpen alt virker som det skal, håber ikke jeg har overset noget :-)
<%
Response.Buffer = True
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strConnect
strSQL = "SELECT *, left(N_MESSAGE,50) as BESKED FROM PRIVAT_NEWS ORDER BY NEWS_ID LIMIT 5"
Set rs = myConn.Execute(strSQL)
If Not rs.eof Then
do until rs.eof
strNavn = "<b><u><em>" & rs("N_DAY") & " "
strdato = "d." & rs("N_DATE") & "</em></u></b><br><br>"
strshotmessage = rs("BESKED") & "...." & "<br>"
strhrlinje = "<hr>"
strLink = strNavn
strndate = strdato
strmessage = strshotmessage
strhr = strhrlinje
Response.Write strLink
Response.Write strndate
Response.Write strmessage
Response.Write "<br><div align=""right""><a href='dagbog.asp?read=" & rs("NEWS_ID") & "'>Læs mere her</a></div>"
Response.Write strhr
rs.movenext
loop
end if
myConn.Close
Set myConn = Nothing
%> |
Rettet af - [+35]Jumpman @ 06 May 2009 09:08:05 |
|
|
[+35]Terabyte
[+35] Soldier
Denmark
2730 Posts |
Skrevet - 06 May 2009 : 19:32:33
|
|
|
|
|
[+35]Jumpman
[+35] Server Admin, [+35] Member of COW - G5
Denmark
6728 Posts |
Skrevet - 14 May 2009 : 00:24:58
|
Har lige et ekstra spørgsmål hvordan kan jeg lave dette login script så det virker med userlevels jeg har lavet en tabel i min mysql database der heder PRIVAT_MEMBERS og et felt der hedder M_LEVEL
Jeg tænkte noget hen ad dette: Admin = Level 4 Medlemmer = Level 3 Venner = Level 2 Gæster = Level 1
Mine coder ser sådan her ud jeg bruger include sider fra mine hovedsider(ret mig hvis der er noget jeg har lavet forkert jeg er jo ikke en haj.
inc_login.asp
<%
Dim strUsername
strUsername = Request("M_Username")
%>
<div id="login-form">
<form name="M_Userlogin" action="validate_login.asp" method="post">
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td class="login_header">Familie Login</td>
</tr>
<tr>
<td class="login_sm">Brugernavn:</td>
</tr>
<tr>
<td><input type="text" class="login_form" name="M_Username" value="<%=(M_Username)%>"></td>
</tr>
<tr>
<td class="login_sm">Adgangskode:</td>
</tr>
<tr>
<td><input class="login_form" type="password" name="M_Password"></td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="login_sm"><a href="nyt_medlem.asp">Ny bruger</a><br><a href="glemt_kode.asp">Glemt din kode?</a></td>
<td width="30"><input type="submit" name="M_Userlogin" value="Login" style="margin-top:10px; margin-right:14px;"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</div>
validate_login.asp
<!-- #INCLUDE FILE="inc_config.asp" -->
<%
Dim strUsername, strPassword
strUsername = Replace((trim(Request("M_Username"))), "'", "")
strPassword = Replace((trim(Request("M_Password"))), "'", "")
'//Finder Username og Password value, trimmer dem (fjerne alle space på begge sider)
'//og fjerner ' fra dem da det kan med føre problemer!
If strUsername = "" Or _
strPassword = "" Then
Response.Redirect "login_blank_form.asp"
End If
'//Hvis et af felterne er blanke bliver brugeren sendt tilbage
'//til login.asp med en fejlmelding.
Dim myConn, rsUsers, SQL
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strConnect
Set rsUsers = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM PRIVAT_MEMBERS WHERE M_Username='" & (strUsername) & "' And M_Password='" & (strPassword) & "'"
rsUsers.Open SQL, myConn
'//Åbner forbindelsen til db.mdb databasen
If rsUsers.BOF Or rsUsers.EOF Then
Response.Redirect "login_miss_userpass.asp"
'//Hvis brugernavnet og passwordet ikke matcher er recordsettet tomt,
'//Hvis det er det bliver brugeren sendt til login.asp med en fejlmelding!
Else
Session("privat_cookie") = rsUsers("MEMBER_ID")
Response.Redirect "index_user.asp"
'//Hvis det er ikke er tomt er brugeren "fundet" og brugeren sendes til main.asp
'//med sin nye idUser session der holder brugerens ID
End If
%>
inc_login_user.asp I validate_login.asp linkes der til index_user.asp som er en hovedside der includer inc_login_user.asp så linket er ok og virker.
<%
Dim myConn, rsData, SQL
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strConnect
Set rsData = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM PRIVAT_MEMBERS WHERE MEMBER_ID=" & Session("privat_cookie")
rsData.Open SQL, myConn
%>
<div id="login-form">
<form name="userlogout" action="logout_user.asp" method="post">
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td class="login_sm_user">Du er logget på som<br><%=rsData("M_NICKNAME")%><br>
</td>
</tr>
<tr>
<td class="login_sm_logout"><a href="logout_user.asp">Log Af</a></td>
</tr>
</table>
</form>
</div>
index_user.asp En beskyttet hovedside se sådan her ud.
<!-- #INCLUDE FILE="inc_protect.asp" -->
<!-- #INCLUDE FILE="inc_config.asp" -->
<!-- #INCLUDE FILE="inc_header.asp" -->
<!-- #INCLUDE FILE="inc_banner.asp" -->
<!-- #INCLUDE FILE="inc_toplinks.asp" -->
<!-- #INCLUDE FILE="inc_info.asp" -->
<!-- #INCLUDE FILE="inc_dagbog_main.asp" -->
<!-- #INCLUDE FILE="inc_footer.asp" -->
inc_protect.asp Ser sådan her ud og er includeret i alle mine beskyttet hovedsider.
<%
If Session("privat_cookie") = 0 Or _
Session("privat_cookie") = "" Then
Response.Redirect "protect.asp"
End If
'//Hvis sessionen idUser = 0 eller intet bliver brugeren sendt til login.asp med en fejlmelding!
%> |
Rettet af - [+35]Jumpman @ 14 May 2009 00:43:34 |
|
|
[+35]Terabyte
[+35] Soldier
Denmark
2730 Posts |
Skrevet - 18 May 2009 : 08:35:28
|
Hvad er det egentlig du gerne vil når du skriver du gerne vil have "så det virker med userlevels" ?
Vil du til enhver tid gerne vide hvad den påloggede bruger har af USER_LEVEL så du kan styre det der vises for brugeren ?
Det er iøvrigt lidt sjovt at de ting du er gået igang med at lave alle kan hentes via denne nuke portal ASPNUKE på www.rot.dk
Jeg bruger den selv på bl.a. www.srb90.dk, www.teamsalling.dk
Det er selvfølgelig lidt bedaget da det er asp, men det lader til at være det du også gerne vil begå dig i.
Her får du alle de ting foræret og kan bygge dine egne ting om rundt omkring det der allerede er kodet på plads.
|
|
|
[+35]Jumpman
[+35] Server Admin, [+35] Member of COW - G5
Denmark
6728 Posts |
Skrevet - 24 May 2009 : 23:28:20
|
Jeg har fået det fixet her er lidt af den gamle kode håber du forstår hvad jeg mener, jeg har lavet den om til at kører på mysql server :-)
<!--#include file="protect.inc"-->
<% strGame = Session("ID")%>
<%
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("xxxxx.mdb")
Set rs2 = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * From User WHERE ID LIKE '%" & Strgame & "%'"
rs2.Open strSQL, myConn, 1, 3
%>
<%
If RS2("Access_Level") = "Administrator" Then
response.write("<b>Admin Menu</b><BR>")
ELSE
If RS2("Access_Level") = "Familie" Then
response.write("<b>Familie Menu</b><BR>")
ELSE
If RS2("Access_Level") = "Venner" Then
response.write("<b>Venne Menu</b><BR>")
END IF
END IF
END IF
%>
<table cellSpacing="0" cellPadding="0" width="100%" border="0">
<tr>
<td><font color="#FFFFFF" size="2">
Welcome:<%=Session("Password")%><br>
You are login as:<%=RS2("UserName")%><br>
Access Level:<%=RS2("Access_Level")%>
</font></td>
</tr>
</table>
<%
myConn.Close
Set myConn = Nothing
%> |
Rettet af - [+35]Jumpman @ 25 May 2009 13:25:30 |
|
|
Otto
Forummedlem
Denmark
246 Posts |
Skrevet - 25 May 2009 : 14:59:45
|
Geeks :-) |
“The more you are a true believer, the more violence you create.” Humberto Maturana
|
|
|
|
Emne |
|