Avatar billede kfc Nybegynder
16. januar 2001 - 16:07 Der er 19 kommentarer og
1 løsning

Enkelt udtræk af databse.

Jeg har en medlemsside hvor jeg logger brugernes Ip adresse, og det bliver gemt i en database i 3 dage. Det jeg så gerne ville var, at på den side hvor man kan se medlemmerne, bliver vist hvornår de sidst har været online. Det udtræk ville jeg gerne lave af den database der registere IP\'en da den også registrere Loginnavn og Dato/tid (Now())
Jeg kan sagtens selv få den til at lave udtrækket og smide det i en tabel, men den skal kun vise et udtræk og det er det med den seneste dato... Hjææææælp :-)

KFC
Avatar billede keysersoze Guru
16. januar 2001 - 16:23 #1
select top 1 from tabel desc

måske sådan hvis jeg har forstået spørgsmålet...
Avatar billede kfc Nybegynder
16. januar 2001 - 16:26 #2
Får jeg så den seneste dato, eller resikere jeg at det er den dato der er i den første række i tabellen, altså den med det laveste ID ???

KFC
Avatar billede keysersoze Guru
16. januar 2001 - 16:30 #3
kfc >> desc betyder at den sortere indholdet af tabellen faldende (altså højeste øverts)

modsætningen til desc er asc...

jeg ved ikke præcis hvordan det er bygget op, men:

select top 1 from tabel 

burde være måden at gøre det på
Avatar billede kfc Nybegynder
16. januar 2001 - 16:36 #4
Nu rabler det sq......

Jeg har sat denne linie ind, hvor jeg skal bruge datoen, men den efterlader et blankt felt, hvad gør jeg galt, jeg er ret sikker på at det er måden jeg sætter brugernavnet ind i formlen på.

<% IF Logning(\"Navn\") = \"Navnet på brugeren\" Then Response.Write Logning(\"Dato\")%>

KFC
Avatar billede keysersoze Guru
16. januar 2001 - 16:38 #5
dette er den du skal bruge

select top 1 from TABEL order by KOLLONE desc
Avatar billede keysersoze Guru
16. januar 2001 - 16:39 #6
<%
IF Logning(\"Navn\") = \"Navnet på brugeren\" Then Response.Write Logning \" & (\"Dato\") &\"
%>

måske...
Avatar billede kfc Nybegynder
16. januar 2001 - 16:39 #7
Jo Jo, det har jeg skam også gjort, ellers får jeg en fejl i linien.


Sql = \"SELECT top 1 * FROM logning Order by Dato DESC\"


KFC
Avatar billede keysersoze Guru
16. januar 2001 - 16:42 #8
<%
Response.Write \"\" & (\"Dato\") &\"\"
%>

dette burde i hvert fald udskrive datoen...
Avatar billede kfc Nybegynder
16. januar 2001 - 17:58 #9
Noget er stadig ikke rigtigt.......
Jeg får kun mig selv trukket ud af databasen, af en eller anden grund....
De andre brugere kommer ikke med ????

KFC
Avatar billede pfp Nybegynder
16. januar 2001 - 19:20 #10
Er det ikke fordi du har skrevet Select top 1?
Avatar billede kfc Nybegynder
16. januar 2001 - 22:03 #11
Jooo.... Men hvad skulle jeg da ellers skrive ???

KFC
Avatar billede keysersoze Guru
17. januar 2001 - 10:13 #12
nu er jeg ikke helt med - er det en ad gangen der skal vises eller alle?
Avatar billede keysersoze Guru
17. januar 2001 - 10:19 #13
select top 1 tager kun den aller øverste og altså KUN 1!

skal du ´kunne se alle og hvornår de sidst er logget ind er det nok noget hen i denne retning:

select * from TABEL Order by KOLONNE_MED_SIDST_LOGIN_DATO desc

og så skal du ikke køre loop på andet end navnene på brugerne...

er du med?
Avatar billede kfc Nybegynder
17. januar 2001 - 11:25 #14
Hmmm..... Nu er jeg totalt forvirret.

Her er lige et eksempel på hvordan jeg har lavet det:

<%
Response.Buffer = True

\' Connection til database
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DBPath = \"DBQ=\" & server.mappath(\"../database/log.mdb\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath

\' Her hiver vi indholdet af databasen ud, sorterer dem efter dato
    Sql = \"SELECT * FROM logning Order by Dato DESC\"
    Set Logning =  Conn.Execute(Sql)

Do While Not Logning.EOF

%>

</table>
<p align=\"center\"><b><font size=\"5\"><u>Medlemmer.</u></font></b></p>
<table border=\"1\" width=\"100%\">
  <tr>
    <td width=\"25%\" align=\"center\"><b><font size=\"4\">Nick</font></b></td>
    <td width=\"25%\" align=\"center\"><b><font size=\"4\">Mail</font></b></td>
    <td width=\"25%\" align=\"center\"><b><font size=\"4\">ICQ</font></b></td>
    <td width=\"25%\" align=\"center\"><b><font size=\"4\">Last Online</font></b></td>
  </tr>
  <tr>
    <td width=\"25%\">Navn1</td>
    <td width=\"25%\"><a href=\"mailto:Email1@Email.dk\">Mail Add</a></td>
    <td width=\"25%\">ICQ1</td>
    <td width=\"25%\"><% IF Logning(\"Navn\") = \"Navn1\" Then Response.Write Logning(\"Dato\") %></td>
  </tr>
  <tr>
    <td width=\"25%\">Navn2</td>
    <td width=\"25%\"><a href=\"mailto:Email2@Email.dk\">Mail Add</a></td>
    <td width=\"25%\">ICQ2</td>
    <td width=\"25%\"><% IF Logning(\"Navn\") = \"Navn2\" Then Response.Write Logning(\"Dato\") %></td>
  </tr>
  <tr>
    <td width=\"25%\">Navn3</td>
    <td width=\"25%\"><a href=\"mailto:Email3@Email.dk\">Mail Add</a></td>
    <td width=\"25%\">ICQ3</td>
    <td width=\"25%\"><% IF Logning(\"Navn\") = \"Navn3\" Then Response.Write Logning(\"Dato\") %></td>
  </tr>
  <tr>
    <td width=\"25%\">Navn4</td>
    <td width=\"25%\"><a href=\"mailto:Email4@Email.dk\">Mail Add</a></td>
    <td width=\"25%\">ICQ4</td>
    <td width=\"25%\"><% IF Logning(\"Navn\") = \"Navn4\" Then Response.Write Logning(\"Dato\") %></td>
  </tr>
</table>
<%
Logning.MoveNext

Loop

Conn.Close
set Conn = Nothing
%>


Hvis det hjælper lidt på det, eller skal jeg da se om jeg kan forklare mig lidt bedere.....


KFC
Avatar billede keysersoze Guru
17. januar 2001 - 11:41 #15
nu er jeg så til gengæld ikke helt med...

har du en tabel med alle brugerne, hvor der så også er lidt forskellige oplysninger (navn, mail, icq og loging)?
Avatar billede keysersoze Guru
17. januar 2001 - 11:46 #16
<%
Response.Buffer = True

\' Connection til database
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DBPath = \"DBQ=\" & server.mappath(\"../database/log.mdb\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath

\' Her hiver vi indholdet af databasen ud, sorterer dem efter dato
    Sql = \"SELECT * FROM logning Order by Dato DESC\"
    Set Logning =  Conn.Execute(Sql)

%>

</table>
<p align=\"center\"><b><font size=\"5\"><u>Medlemmer.</u></font></b></p>
<table border=\"1\" width=\"100%\">
  <tr>
    <td width=\"25%\" align=\"center\"><b><font size=\"4\">Nick</font></b></td>
    <td width=\"25%\" align=\"center\"><b><font size=\"4\">Mail</font></b></td>
    <td width=\"25%\" align=\"center\"><b><font size=\"4\">ICQ</font></b></td>
    <td width=\"25%\" align=\"center\"><b><font size=\"4\">Last Online</font></b></td>
  </tr>
</table>

Do While Not Logning.EOF

</table>
<p align=\"center\"><b><font size=\"5\"><u>Medlemmer.</u></font></b></p>
<table border=\"1\" width=\"100%\">
  <tr>
    <td width=\"25%\" align=\"center\"><b><font size=\"4\">
<% Response.Write \"\" & logning(\"nick\") & \"\" %>
</font></b></td>
    <td width=\"25%\" align=\"center\"><b><font size=\"4\">
<% Response.Write \"\" & logning(\"mail\") & \"\" %>
</font></b></td>
    <td width=\"25%\" align=\"center\"><b><font size=\"4\">
<% Response.Write \"\" & logning(\"icq\") & \"\" %>
</font></b></td>
    <td width=\"25%\" align=\"center\"><b><font size=\"4\">
<% Response.Write \"\" & logning(\"last\") & \"\" %>
</font></b></td>
  </tr>
</table>

<%
Logning.MoveNext

Loop

Conn.Close
set Conn = Nothing
%>

 
Avatar billede kfc Nybegynder
17. januar 2001 - 16:07 #17
Jeg har nu tilpasset min database lidt efter det du har lavet. Således at alle oplysningerne bliver skrevet i, med mail, ICQ osv. osv.

Men..... Når jeg logger brugerens IP bliver det gemt i databasen i 3 dage før det slettes igen. Dvs.: Hver gang en bruger logger på siden bliver han registeret i databasen på ny, dvs. en ny ID med samtlige oplysninger.
Det jeg sådan set mangler nu er at det kun er det seneste login fra hver bruger der kommer frem i databasen.

KFC

Avatar billede kfc Nybegynder
17. januar 2001 - 16:12 #18
Det jeg havde før var bare en side hvor vi 7 medlemmer var skrevet på (Snart 8) og alle de oplysninger der stod der kom ikke fra en database, men blot var skrevet direkte ind.
Udtrækket fra databasen skulle så blot hive den seneste dato ud, hvor en af brugerne hvade joinet siden, og sætte det bagefter brugerens navn. På den måde kunne man nemt overskue om de forskellige havde kigget på siden.

Ved godt jeg ikke er god til at forklare mig, men spørg og jeg skal se om jeg ikke kan gøre det bedere. :-)

KFC
Avatar billede keysersoze Guru
13. marts 2001 - 21:42 #19
?????????????
Avatar billede kfc Nybegynder
20. maj 2001 - 12:50 #20
Never mind, jeg har selv fundet ud af det.

KFC
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