Avatar billede cpccorp Juniormester
30. maj 2006 - 17:26 Der er 45 kommentarer og
1 løsning

Udtræk fra mysql

Jeg vil gerne kunne udtrække de 5 nyeste nyheder fra en mysql-database med asp, men jeg har et problem med at få den til at vise de 5, den viser istedet de 5 samme

det skal skrives således:

<a href=readnews.asp?id=xxx>Overskriften</a> (Dato)
Avatar billede nielle Nybegynder
30. maj 2006 - 17:28 #1
Hvordan ser din kode ud?
Avatar billede cpccorp Juniormester
30. maj 2006 - 17:47 #2
Kom desværre til at slette den da jeg blev irriteret på den, men hvad skal du bruge ellers
Avatar billede nielle Nybegynder
30. maj 2006 - 17:57 #3
Ikke noget specielt, ville bare rette fejlen i din eksisterende kode (sådan at tabel-navne, og andet, var korrekt fra starten af).

<%
sql = "SELECT * FROM nyheder ORDER BY id DESC LIMIT 0, 5"

rs = Conn.Execute(sql)
Do While Not rs.EOF
    Request.Write "<a href='readnews.asp?id=" & rs("id") & "'>" & rs("overskrift") & "</a> " & rs("dato") & "<br>"

    rs.MoveNext
Loop
%>
Avatar billede cpccorp Juniormester
30. maj 2006 - 18:18 #4
jeg har glemt hvordan jeg connecter til databasen
Avatar billede nielle Nybegynder
30. maj 2006 - 18:28 #5
Måske sådan:

Dim connStr, Conn
connStr = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=dinDatabase;UID=ditUsername;PASSWORD=dirPassword; OPTION=3"
Set Conn = Server.CreateObject("ADODB.Connection")
objConn.Open(connStr)
Avatar billede cpccorp Juniormester
30. maj 2006 - 19:17 #6
der er et felt i mysql som skulle være dato, der står datestamp, hvordan grejer vi den???? Jeg tester lige
Avatar billede cpccorp Juniormester
30. maj 2006 - 20:31 #7
dette virker ikke
<% Response.ContentType = "text/vnd.wap.wml" %><?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE wml PUBLIC '-//WAPFORUM//DTD WML 1.1//EN' 'http://www.wapforum.org/DTD/wml_1.1.xml'>
<wml>
<card id="nyheder" title="MIF WAP">
<p align="left">
<%
Set dbConn = Server.Createobject("ADODB.Connection")
strDSN = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=mysql3.gullestrupnet.dk;DATABASE=mbifproject;UID=mbifproject;PWD=mbifmbif;"
dbConn.Open strDSN
sql = "Select news_id, news_subject From mbif2005_news"
rs = dbConn.Execute(sql)
Do While Not rs.EOF
%>
    <a href="readnews.asp?id=<%=rs("news_id")%>"><%=rs("news_subject")%></a> (dato)<br />"
<%
    rs.MoveNext
Loop
%>
</p>
<p align="center">---------------------</p>


</card>
</wml>
Avatar billede nielle Nybegynder
30. maj 2006 - 20:38 #8
Hvad mener du når du siger at det ikke virker?

Får du en fejl? Hvilken? Heller sker der blot noget andet end det du forventer? Hvad forventer du egentlig at der skal ske? Osv.

PS: Jeg kan desværre ikke lige hjælpe dig med selve din wap-kode.
Avatar billede cpccorp Juniormester
30. maj 2006 - 20:44 #9
ups men selve

<%
Set dbConn = Server.Createobject("ADODB.Connection")
strDSN = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=mysql3.gullestrupnet.dk;DATABASE=mbifproject;UID=mbifproject;PWD=mbifmbif;"
dbConn.Open strDSN
sql = "Select news_id, news_subject From mbif2005_news"
rs = dbConn.Execute(sql)
Do While Not rs.EOF
%>
    <a href="readnews.asp?id=<%=rs("news_id")%>"><%=rs("news_subject")%></a> (dato)<br />"
<%
    rs.MoveNext
Loop
%>

Virker ikke skriver at rs.EOF ikke understøttes
Avatar billede nielle Nybegynder
30. maj 2006 - 21:00 #10
Det lyder nu mystisk... hvordan ser fejlbeskeden helt eksakt ud?
Avatar billede cpccorp Juniormester
30. maj 2006 - 21:08 #11
Fejltype:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01B6)
Objektet understøtter ikke denne egenskab eller metode: 'rs.EOF'
/mbifphp/wap/newstest.asp, line 8
Avatar billede nielle Nybegynder
30. maj 2006 - 21:12 #12
Prøv at ændre:

rs = dbConn.Execute(sql)

- til:

Set rs = dbConn.Execute(sql)
Avatar billede cpccorp Juniormester
30. maj 2006 - 21:58 #13
ja det hjalp men hvad det hersens datestamp
Avatar billede nielle Nybegynder
30. maj 2006 - 22:34 #14
Hvad med det? Hvad er problemet?
Avatar billede cpccorp Juniormester
30. maj 2006 - 23:12 #15
hvordan får jeg den til at vise den dato som datestamp tallet indeholder
Avatar billede nielle Nybegynder
31. maj 2006 - 06:59 #16
Nu har jeg ikke en MySQL lige ved hånden, men har den ikke et date-type felt? Hvis det er rigtigt kan du starte med at lave dit datetime-felt om til et date-felt.
Avatar billede cpccorp Juniormester
06. juni 2006 - 13:24 #17
det duer ikke at ændre da det så har indvirkning på andre ting....men hvordan er det bygget op?? datestamp i mysql med PHP
Avatar billede nielle Nybegynder
06. juni 2006 - 17:50 #18
Da det lyder som om at feltet burde have været et date-felt fra starten af, synes jeg da at du burde gøre dig selv den tjeneste at rette op på fejlen med det samme - med deraf følgende merarbejde andre steder. Min erfaring er nu at, det betaler sig i længden frem for at skulle lave mere eller mindre kunstige tilretninger i al ny kode.

Men hvis du ikke vælger denne vej, gætter jeg på at funktionen DATE() er din redning:

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html

Med SQL sætningen:

SELECT Date(ditDateTimeFelt) AS dato FROM ...

burde du få dato-delen ud af feltet. "AS dato" delen betyder at du vil kunne få denne som rs("dato").
Avatar billede nielle Nybegynder
13. juni 2006 - 18:40 #19
Har du fået det til at virke?
Avatar billede cpccorp Juniormester
13. juni 2006 - 20:13 #20
har desværre haft andre gøremål, men tester det i morgen
Avatar billede nielle Nybegynder
20. juni 2006 - 06:53 #21
Hmm?
Avatar billede cpccorp Juniormester
20. juni 2006 - 15:34 #22
desværre hjalp det ikke men konverterede det heller ikke til datetime, det er en int felt
Avatar billede nielle Nybegynder
20. juni 2006 - 18:38 #23
Hvad mener du med at det er et int-felt? Det har da været et datetime-felt tidligere...

Funktionen Date() burde trække dato-delen ud af et datetime-felt.

Og hvis det ikke virker: hvad får du så egentlig af fejlbesked?
Avatar billede cpccorp Juniormester
20. juni 2006 - 19:02 #24
den skriver så bare ikke nogen dato
Avatar billede nielle Nybegynder
20. juni 2006 - 19:05 #25
Hvordan ser den del af din kode ud?
Avatar billede cpccorp Juniormester
20. juni 2006 - 19:34 #26
Set dbConn = Server.Createobject("ADODB.Connection")
strDSN = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=mysql3.gullestrupnet.dk;DATABASE=mbifproject;UID=mbifproject;PWD=mbifmbif;"
dbConn.Open strDSN
sql = "Select news_id, news_subject, news_name, Date(news_datestamp) AS datoen  From mbif2005_news WHERE news_visibility = 0 ORDER BY news_id DESC LIMIT 0,5"
set rs = dbConn.Execute(sql)
Do While Not rs.EOF
%>
    <%=rs("dato")%><a href="readnews.asp?id=<%=rs("news_id")%>&amp;usr=<%=rs("news_name")%>"><%=rs("news_subject")%></a><br />
<%
    rs.MoveNext
Loop
%>
Avatar billede nielle Nybegynder
20. juni 2006 - 19:38 #27
Prøv at rette:

<%=rs("dato")%>

- til:

<%=rs("datoen")%>
Avatar billede cpccorp Juniormester
20. juni 2006 - 19:48 #28
det hjalp ikke...

en værdi i feltet som viser datoen 19/6-2006 : 1150706165
Avatar billede cpccorp Juniormester
20. juni 2006 - 19:50 #29
denne funktion er i koden i php:

function showdate($format, $val) {
    global $settings;
    if ($format == "shortdate" || $format == "longdate" || $format == "forumdate") {
        return strftime($settings[$format], $val+($settings['timeoffset']*3600));
    } else {
        return strftime($format, $val+($settings['timeoffset']*3600));
    }
}
Avatar billede nielle Nybegynder
20. juni 2006 - 19:52 #30
Udskriver den "1150706165" i stedet for "19/6-2006"?

Så følger den godt nok ikke dokmentationen... :^|
Avatar billede cpccorp Juniormester
20. juni 2006 - 20:17 #31
nej feltets værdi er 1150706165
Avatar billede nielle Nybegynder
20. juni 2006 - 20:19 #32
Hvad mener du med "nej"? Udskriver din ASP-kode "1150706165" eller "19/6-2006" på skærmen?
Avatar billede cpccorp Juniormester
20. juni 2006 - 20:44 #33
ingen af delene men der hvor feltet bruges af php er der ovenstående funktion
Avatar billede nielle Nybegynder
20. juni 2006 - 20:49 #34
Hvad skriver den så ud hvis den ikke skriver en af de to muligheder?
Avatar billede cpccorp Juniormester
20. juni 2006 - 20:57 #35
intet
Avatar billede nielle Nybegynder
20. juni 2006 - 20:59 #36
Hvordan ser din kode ud nu?
Avatar billede cpccorp Juniormester
20. juni 2006 - 21:50 #37
for at få alt på det rene...

Jeg skriver denne kode i asp til udtræk til wap fra mysql, men jeg kan se i kode hvorfra dataen stammer fra at der er ovenstående function
Avatar billede nielle Nybegynder
20. juni 2006 - 21:52 #38
Jeg tror ikke at jeg er ikke klar over hvad det er for en funktion du snakker om?

Og hvordan ser din kode ud?
Avatar billede cpccorp Juniormester
20. juni 2006 - 22:14 #39
function showdate($format, $val) {
    global $settings;
    if ($format == "shortdate" || $format == "longdate" || $format == "forumdate") {
        return strftime($settings[$format], $val+($settings['timeoffset']*3600));
    } else {
        return strftime($format, $val+($settings['timeoffset']*3600));
    }
}
Avatar billede cpccorp Juniormester
20. juni 2006 - 22:15 #40
min kode...den i php er ikke min, hvis det er den du mener
Avatar billede nielle Nybegynder
20. juni 2006 - 22:19 #41
Hvor kommer denne PHP kode fra og hvad er lige sammenhængen mellem den og med det problem vi har i ASP+MySQL?
Avatar billede cpccorp Juniormester
20. juni 2006 - 22:43 #42
php fusion tror jeg den hedder, jeg kigger lige hvordan den laver datestampen...
Avatar billede cpccorp Juniormester
21. juni 2006 - 00:46 #43
den laver int-feltets værdi med php mktime og laver unix datestamp
Avatar billede nielle Nybegynder
21. juni 2006 - 19:38 #44
Prøv med denne:

sql = "SELECT news_id, news_subject, news_name, FROM_UNIXTIME(news_datestamp) AS datoen FROM mbif2005_news WHERE news_visibility = 0 ORDER BY news_id DESC LIMIT 0,5"
Avatar billede cpccorp Juniormester
22. juni 2006 - 17:22 #45
Perfekt.....

Nuskriver den dato + kl

Lig et svar
Avatar billede nielle Nybegynder
22. juni 2006 - 17:36 #46
Svar :^)
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