/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Har stadig brug for hjælp....
Fra : Dennis Munding


Dato : 15-08-05 20:54

Hej NG!

Jeg postede et indlæg den 5/8 kl. 18:48, fordi jeg havde brug for hjælp til
at hente en enkelt post fra en database....

Jeg mangler stadig at få løst problemet...

Jeg håber, at der sidder en venlig sjæl derude et sted, som kan hjælpe
mig...??

Jeg vil henvise til mit tidligere indlæg for at få info om problemet og
forgæves forsøg....

Skulle I få brug for mere viden, skal jeg forsøge at besvare det her i
tråden.

På forhånd tusind tak!


Med vnelig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/
http://www-mundings-memorial.dk/
http://www.cantica.dk/



 
 
Jacob Atzen (15-08-2005)
Kommentar
Fra : Jacob Atzen


Dato : 15-08-05 21:24

Hej Dennis,

On 2005-08-15, Dennis Munding <mail@invalid.com> wrote:
> Jeg postede et indlæg den 5/8 kl. 18:48, fordi jeg havde brug for
> hjælp til at hente en enkelt post fra en database....

Din reference er desværre lidt uhåndterbar. Min newsklient viser i alt
fald ikke umiddelbart tidspunkter for indlæg. Har du et message-id eller
en google groups url?

> Jeg mangler stadig at få løst problemet...
>
> Jeg håber, at der sidder en venlig sjæl derude et sted, som kan hjælpe
> mig...??
>
> Jeg vil henvise til mit tidligere indlæg for at få info om problemet
> og forgæves forsøg....
>
> Skulle I få brug for mere viden, skal jeg forsøge at besvare det her i
> tråden.

Lever dit indlæg op til FAQ'ens råd til, hvordan man stiller spørgsmål?
Ellers kan det måske være en grund til at ingen har svaret. (Dette
indlæg gør i alt fald ikke )

--
Med venlig hilsen
- Jacob Atzen

Dennis Munding (16-08-2005)
Kommentar
Fra : Dennis Munding


Dato : 16-08-05 14:49

Hej Jacob!
"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrndg1ueq.a1s.jacob@tank.aub.dk...
> Hej Dennis,

> Din reference er desværre lidt uhåndterbar. Min newsklient viser i alt
> fald ikke umiddelbart tidspunkter for indlæg. Har du et message-id eller
> en google groups url?

Message-id? Google groups url?? Sort snak for mig...
Det blev postet her i nyhedsgruppen (
dk.edb.internet.webdesign.serverside.php )...:

"Hej NG!

Så er PHP-Newbien over dem alle tilbage igen!

Jeg har en data-base i forb. med en kalender. Nu har jeg så fået til opgave
at hente den førstkommende "event" ud af databasen og sætte den ind på en
side...

Men hvordan er det nu lige, at man gør det?!?
Jeg læste det i bogen af Julie C. Meloni (Introduktion til PHP, MySQL og
Apache), men den havde jeg lånt på bibioteket, så jeg kan ikke lige slå det
op igen...
Har forgæves surfet efter det på de danske sider, jeg kender med
PHP-tutorials...."

> Lever dit indlæg op til FAQ'ens råd til, hvordan man stiller spørgsmål?
> Ellers kan det måske være en grund til at ingen har svaret. (Dette
> indlæg gør i alt fald ikke )

Jeg prøver at forklare mine problemer så godt, som jeg kan - er jo langt fra
rutineret i det... (Ikke alle har været med her i 1000 år...)

Og for at skære det lidt mere ud i pap, så er min kode her (ved godt, at det
er ilde set, men du er selv ude om det - og det kan måske give et bedre
overblik...??):

(Her er en kombination af forslag fra Benny Nissen og Martin):

<?php
$conn = mysql_connect("localhost", "****", "****");
mysql_select_db("****", $conn);
$sql = "select * from TABEL where
(EventYear&&EventMonth&&EventDay&&EventTime>='now()') order by EventTime ASC
LIMIT 1";
$result = mysql_query ($sql, $conn) or die(mysql_error());

while ($newArray = mysql_fetch_array($result)) {
$day = $newArray['EventDay'];
$month = $newArray['EventMonth'];
$year = $newArray['EventYear'];
$time = $newArray['EventTime'];
$event = $newArray['Event'];

echo "<p>N&aelig;ste aktivitet:</p>";
echo "<p><b>Hvornår:</b> " . $day ."/" . $month . "-" . $year . " kl. " .
$time . ".<br /><b>Hvad:</b> " . $event . "</p>";
}
mysql_close();
?>

Men det hjalp ikke...

Så kom Tomasz Otap med dette forslag:

"Prøv at bruge concat-funktionen til at sammensætte disse værdier til en
fælles streng:

.... where concat(EventYear, EventMonth, EventDay, EventTime) >= now()"...

Men ak! Resultatet blev dette:

"Den funktion kendte jeg (som så mange andre!) ikke...
Men nu har jeg afprøvet det - jeg får udskrevet en event fra den 15/2-2005
kl. 00:00:00!?"....

Det var en længere smørre, men jeg håber, at det kan hjælpe dig til at få
indsigt i mit problem....?


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/
http://www-mundings-memorial.dk/
http://www.cantica.dk/



Jacob Atzen (16-08-2005)
Kommentar
Fra : Jacob Atzen


Dato : 16-08-05 15:35

On 2005-08-16, Dennis Munding <mail@invalid.com> wrote:
> Hej Jacob!
> "Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
> news:slrndg1ueq.a1s.jacob@tank.aub.dk...
>> Hej Dennis,
>
>> Din reference er desværre lidt uhåndterbar. Min newsklient viser i alt
>> fald ikke umiddelbart tidspunkter for indlæg. Har du et message-id eller
>> en google groups url?
>
> Message-id? Google groups url?? Sort snak for mig...
> Det blev postet her i nyhedsgruppen (
> dk.edb.internet.webdesign.serverside.php )...:

Alle indlæg på usenet har et message-id, der står i headeren på
indlægget. F.eks. har din newsklient fortalt os ID'et på det indlæg du
svarede på:

> "Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
> news:slrndg1ueq.a1s.jacob@tank.aub.dk...

Hvor message-id'et er: slrndg1ueq.a1s.jacob@tank.aub.dk

Med dette ID kan man nemt finde det indlæg der refereres til.
Alternativ har Google et arkiv over usenet på adressen:
groups.google.dk. Her kan man f.eks. finde aktuelle tråd:
<http://groups.google.dk/group/dk.edb.internet.webdesign.serverside.php/browse_thread/thread/b9c2073ed5fad8ab/cb2722a20e61bc68#cb2722a20e61bc68>

Jeg tager et kig på dit problem når jeg kommer hjem.

--
Med venlig hilsen
- Jacob Atzen

Dennis Munding (16-08-2005)
Kommentar
Fra : Dennis Munding


Dato : 16-08-05 18:44

Hej Jacob!
"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrndg3ud8.a1s.jacob@tank.aub.dk...
> Alle indlæg på usenet har et message-id, der står i headeren på
> indlægget. F.eks. har din newsklient fortalt os ID'et på det indlæg du
> svarede på:
>
>> "Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
>> news:slrndg1ueq.a1s.jacob@tank.aub.dk...
>
> Hvor message-id'et er: slrndg1ueq.a1s.jacob@tank.aub.dk

Oki! Så blev jeg det klogere - troede bare det var noget ubetydeligt
volapyk.....

> Med dette ID kan man nemt finde det indlæg der refereres til.
> Alternativ har Google et arkiv over usenet på adressen:
> groups.google.dk. Her kan man f.eks. finde aktuelle tråd:
> <http://groups.google.dk/group/dk.edb.internet.webdesign.serverside.php/browse_thread/thread/b9c2073ed5fad8ab/cb2722a20e61bc68#cb2722a20e61bc68>

Jeg skal prøve at huske ovenstående til en anden gang - det er jo trods alt
hjælp til selvhjælp....

> Jeg tager et kig på dit problem når jeg kommer hjem.

Mange tak!

Med vnelig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/
http://www-mundings-memorial.dk/
http://www.cantica.dk/



Jacob Atzen (16-08-2005)
Kommentar
Fra : Jacob Atzen


Dato : 16-08-05 17:34

On 2005-08-16, Dennis Munding <mail@invalid.com> wrote:
> "Hej NG!
>
> Så er PHP-Newbien over dem alle tilbage igen!
>
> Jeg har en data-base i forb. med en kalender. Nu har jeg så fået til
> opgave at hente den førstkommende "event" ud af databasen og sætte den
> ind på en side...
>
> Men hvordan er det nu lige, at man gør det?!?
> Jeg læste det i bogen af Julie C. Meloni (Introduktion til PHP, MySQL
> og Apache), men den havde jeg lånt på bibioteket, så jeg kan ikke lige
> slå det op igen...
> Har forgæves surfet efter det på de danske sider, jeg kender med
> PHP-tutorials...."
>
>> Lever dit indlæg op til FAQ'ens råd til, hvordan man stiller spørgsmål?
>> Ellers kan det måske være en grund til at ingen har svaret. (Dette
>> indlæg gør i alt fald ikke )
>
> Jeg prøver at forklare mine problemer så godt, som jeg kan - er jo
> langt fra rutineret i det... (Ikke alle har været med her i 1000
> år...)

Dit indlæg lever jo også op til de anbefalinger, der er skrevet
Ved at følge FAQ'ens anbelinger gør dig selv en stor tjeneste.
Hovedprincippet er at gøre det så nemt for andre at hjælpe dig som
muligt og dermed øge sandsynligheden for at få hjælp. Det behøver ikke
være voldsomt kompliceret, men hvis du mener at nogen af anbefalingerne
kan formuleres klarere vil jeg meget gerne høre det.

> Og for at skære det lidt mere ud i pap, så er min kode her (ved godt,
> at det er ilde set, men du er selv ude om det - og det kan måske give
> et bedre overblik...??):

Kode er absolut ikke ilde set, det er den bedste måde at finde ud af,
hvad der foregår på. Men for at hjælpe os med at hjælpe dig bør man
minimere hvor meget kode man viser. Det du har gengivet herunder er lidt
mere end man kunne slippe afsted med, men stadig ikke mere end det kan
overskues. Du bør dog bruge f.eks. pastebin.com da den gør koden så
meget nemmere at læse i forhold til en newsklient.

><?php
> $conn = mysql_connect("localhost", "****", "****");
> mysql_select_db("****", $conn);
> $sql = "select * from TABEL where
> (EventYear&&EventMonth&&EventDay&&EventTime>='now()') order by EventTime ASC
> LIMIT 1";
> $result = mysql_query ($sql, $conn) or die(mysql_error());
>
> while ($newArray = mysql_fetch_array($result)) {
> $day = $newArray['EventDay'];
> $month = $newArray['EventMonth'];
> $year = $newArray['EventYear'];
> $time = $newArray['EventTime'];
> $event = $newArray['Event'];
>
> echo "<p>N&aelig;ste aktivitet:</p>";
> echo "<p><b>Hvornår:</b> " . $day ."/" . $month . "-" . $year . " kl. " .
> $time . ".<br /><b>Hvad:</b> " . $event . "</p>";
> }
> mysql_close();
> ?>

Din database er forkert struktureret. Databaser har specifikke datatyper
til at håndtere datoer og tidspunkter. I MySQL er der blandt andet date
og datetime[1]. Jeg vil derfor råde dig til at skifte til enten date
eller datetime. Det vil blive meget nemmere, at gøre det du vil. Med et
date eller datetime felt kan din query formuleres som:

SELECT *
FROM tabel
WHERE eventTime > now()
ORDER BY eventTime ASC
LIMIT 1

[1]: http://dev.mysql.com/doc/mysql/en/date-and-time-types.html

--
Med venlig hilsen
- Jacob Atzen

Dennis Munding (16-08-2005)
Kommentar
Fra : Dennis Munding


Dato : 16-08-05 19:14

Hej igen...
"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrndg45bg.a1s.jacob@tank.aub.dk...
> Kode er absolut ikke ilde set, det er den bedste måde at finde ud af,
> hvad der foregår på. Men for at hjælpe os med at hjælpe dig bør man
> minimere hvor meget kode man viser. Det du har gengivet herunder er lidt
> mere end man kunne slippe afsted med, men stadig ikke mere end det kan
> overskues. Du bør dog bruge f.eks. pastebin.com da den gør koden så
> meget nemmere at læse i forhold til en newsklient.

Ok - bruger nu paste.dk, men never mind...

>><?php
>> $conn = mysql_connect("localhost", "****", "****");
>> mysql_select_db("****", $conn);
>> $sql = "select * from TABEL where
>> (EventYear&&EventMonth&&EventDay&&EventTime>='now()') order by EventTime
>> ASC
>> LIMIT 1";
>> $result = mysql_query ($sql, $conn) or die(mysql_error());
>>
>> while ($newArray = mysql_fetch_array($result)) {
>> $day = $newArray['EventDay'];
>> $month = $newArray['EventMonth'];
>> $year = $newArray['EventYear'];
>> $time = $newArray['EventTime'];
>> $event = $newArray['Event'];
>>
>> echo "<p>N&aelig;ste aktivitet:</p>";
>> echo "<p><b>Hvornår:</b> " . $day ."/" . $month . "-" . $year . " kl.
>> " .
>> $time . ".<br /><b>Hvad:</b> " . $event . "</p>";
>> }
>> mysql_close();
>> ?>
>
> Din database er forkert struktureret.

Var jeg ikke klar over, men på den anden side overrasker det mig ikke...

> Databaser har specifikke datatyper til at håndtere datoer og tidspunkter.
> I MySQL er der blandt andet date
> og datetime[1]. Jeg vil derfor råde dig til at skifte til enten date
> eller datetime. Det vil blive meget nemmere, at gøre det du vil.

Der er sådan set 2 problemer:
Min viden omkring PHP er stadig meget begrænset - derfor hentede jeg et
færdigt script, som gerne skulle ordne alt det svære, indtil jeg havde lært
det... (men sådan forholder det sig desværre ikke!)

Det andet problem er, at oprettelsen af de forskellige felter i databasen er
lavet ud fra en "readme.txt-fil" - bedre kan jeg egentlig ikke forklare
det...

Den bedste hjælp til selvhjælp her er nok, at ligge hele scriptet til
kalenderen - som egentlig er "hovedpersonen" i dette her - op på
pastebin.dk, så det vil jeg gøre - så håber jeg, at du eller en anden kan
finde bedre rundt i den end jeg - og at du/I kan komme med en løsning til at
hente en enkelt event ud....

> Med et date eller datetime felt kan din query formuleres som:
>
> SELECT *
> FROM tabel
> WHERE eventTime > now()
> ORDER BY eventTime ASC
> LIMIT 1

Det er også sådan det er sat op i den bog jeg har læst - Introduktion til
PHP, MySQL og Apache af Julie C. Meloni - og det er da til at forstå.... (er
bare ikke så god til at huske sådan noget - må s'gu se at få købt den bog!)

> [1]: http://dev.mysql.com/doc/mysql/en/date-and-time-types.html

Forklaringen ser god nok ud - jeg har kun skimtet den kort - desværre er mit
engelsk ikke godt nok til, at jeg kan læse og forstå det hele ordenligt -
her mangler jeg mange gange en ordentlig dansk brugervejledning (som så
mange andre!)...
Desværre er der ingen af "nørderne", som har taget sig sammen til at skrive
en dansk brugervejledning og udgive den i bog-form... Tror ellers, at der
kunne være penge i det...

Men så er det godt, at vi har nyhedsgrupper på dansk - der findes mange
venlige - og tålmodige! - sjæle herinde!

Jeg poster lige et link til koden på pastebin, når jeg har lagt det ind...

Tak for de mange forklaringer!


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/
http://www-mundings-memorial.dk/
http://www.cantica.dk/



Dennis Munding (16-08-2005)
Kommentar
Fra : Dennis Munding


Dato : 16-08-05 19:49

Hej igen Jacob - og alle andre, som følger tråden...
"Dennis Munding" <mail@invalid.com> skrev i en meddelelse
news:43022c58$0$1186$ba624c82@nntp02.dk.telia.net...
> Jeg poster lige et link til koden på pastebin, når jeg har lagt det ind...

Og det er hermed gjort! Her er linket:

http://www.pastebin.dk/index.php?show=935


Håber virkelig, at der er nogen af jer, som kan/vil hjælpe mig, for jeg er
virkelig i nød - den knækker jeg snart og spiser indholdet, så jeg kan bruge
skallen til at sejle ind på lavt vand igen....

Forvirret?!? Det sidste var blot et halvt citat fra en historie med titlen
"Volapyk eller pladder" skrevet af en kammerat...


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/
http://www-mundings-memorial.dk/
http://www.cantica.dk/



Jacob Atzen (16-08-2005)
Kommentar
Fra : Jacob Atzen


Dato : 16-08-05 20:39

On 2005-08-16, Dennis Munding <mail@invalid.com> wrote:
> "Dennis Munding" <mail@invalid.com> skrev i en meddelelse
> news:43022c58$0$1186$ba624c82@nntp02.dk.telia.net...

[snip]
> http://www.pastebin.dk/index.php?show=935

Det er godt nok noget ganske forfærdelig kode, du har fået fat i der.
Jeg kan godt forstå du har svært ved at overskue det!

Problemet med at december viser næste års events skyldes en grim bug i
programmet. Hvis du prøver at udskrive den query, som udvælger events
fra databasen, vil du opdage, at når du når til december 2005, ser
query'en ud som:

SELECT *
FROM calendar_events
WHERE EventYear = '2006'
AND EventMonth = '12'

Det er jo åbenlyst forkert. Det kan rettes ved at ændre (omkring linie
195 på pastebin):

if ($next_month == 13){
$next_month = 1;
$year++;
}

Til:

if ($next_month == 14){
$next_month = 1;
$year++;
}

Jeg har ikke gidet bruge tid på at gennemskue, hvorfor det forholder sig
sådan, men det virker tilsyneladende

Til dit andet spørgsmål, hvordan du udvælger første næstkommende event.
Du kan bruge følgende (meget grimme) SQL forespørgsel:

SELECT *
FROM calendar_events
WHERE EventYear > 2005
OR (EventYear = 2005 AND EventMonth > 8)
OR (EventYear = 2005 AND EventMonth = 8 AND EventDay >= 15)
ORDER BY EventYear ASC, EventMonth ASC, EventDay ASC
LIMIT 1;

Du vil naturligvis skulle bruge PHP til at sætte dags dato ind istedet
for 2005 / 8 / 15 som jeg har brugt. Det er muligt det kan gøres pænere,
men det er det bedste jeg lige kan komme på.

Jeg håber, at det løser dine problemer ellers må du jo vende tilbage
(forhåbentlig med noget pænere kode ).

--
Med venlig hilsen
- Jacob Atzen

Dennis Munding (17-08-2005)
Kommentar
Fra : Dennis Munding


Dato : 17-08-05 04:05

Hej Jacob!
"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrndg4g6a.a1s.jacob@tank.aub.dk...
> Det er godt nok noget ganske forfærdelig kode, du har fået fat i der.
> Jeg kan godt forstå du har svært ved at overskue det!

Det kan du godt bilde mig ind... :-/

> Problemet med at december viser næste års events skyldes en grim bug i
> programmet. Hvis du prøver at udskrive den query, som udvælger events
> fra databasen, vil du opdage, at når du når til december 2005, ser
> query'en ud som:
>
> SELECT *
> FROM calendar_events
> WHERE EventYear = '2006'
> AND EventMonth = '12'
>
> Det er jo åbenlyst forkert. Det kan rettes ved at ændre (omkring linie
> 195 på pastebin):
>
> if ($next_month == 13){
> $next_month = 1;
> $year++;
> }
>
> Til:
>
> if ($next_month == 14){
> $next_month = 1;
> $year++;
> }

Du er simpelthen GENIAL!!!
MANGE TUSIND TAK!!!
Hvis du vidste, hvor glad det har gjort mig....

> Jeg har ikke gidet bruge tid på at gennemskue, hvorfor det forholder sig
> sådan, men det virker tilsyneladende

Hovedsagen p.t. er, at det virker.

> Til dit andet spørgsmål, hvordan du udvælger første næstkommende event.
> Du kan bruge følgende (meget grimme) SQL forespørgsel:
>
> SELECT *
> FROM calendar_events
> WHERE EventYear > 2005
> OR (EventYear = 2005 AND EventMonth > 8)
> OR (EventYear = 2005 AND EventMonth = 8 AND EventDay >= 15)
> ORDER BY EventYear ASC, EventMonth ASC, EventDay ASC
> LIMIT 1;
>
> Du vil naturligvis skulle bruge PHP til at sætte dags dato ind istedet
> for 2005 / 8 / 15 som jeg har brugt. Det er muligt det kan gøres pænere,
> men det er det bedste jeg lige kan komme på.

Spørger lige dumt...
Noget i den retning her: ...(EventYear = '" . $year ."' AND EventMonth > '"
.. $day . "')...?

> Jeg håber, at det løser dine problemer ellers må du jo vende tilbage
> (forhåbentlig med noget pænere kode ).

Har i hvert fald løst det ene problem - jeg har ikke testet det andet endnu
(se mit spørgsmål ovenfor)....
Med hensyn til koden, så vil jeg ikke tage "æren" for at have lavet den -
det er en OpenSource-kode, som jeg hentede på denne side www.pcdummy.nl (er
ikke tilgængelig p.t.)!

Endnu en gang tusind tak!


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/
http://www-mundings-memorial.dk/
http://www.cantica.dk/



Jacob Atzen (17-08-2005)
Kommentar
Fra : Jacob Atzen


Dato : 17-08-05 07:52

On 2005-08-17, Dennis Munding <mail@invalid.com> wrote:
> Spørger lige dumt...
> Noget i den retning her: ...(EventYear = '" . $year ."' AND EventMonth
> > '" . $day . "')...?

Nemlig. Bortset fra du nok skal bruge... EventMonth > '". $month ."'...

>> Jeg håber, at det løser dine problemer ellers må du jo vende tilbage
>> (forhåbentlig med noget pænere kode ).
>
> Har i hvert fald løst det ene problem - jeg har ikke testet det andet
> endnu (se mit spørgsmål ovenfor)....
> Med hensyn til koden, så vil jeg ikke tage "æren" for at have lavet
> den - det er en OpenSource-kode, som jeg hentede på denne side
> www.pcdummy.nl (er ikke tilgængelig p.t.)!

Det fremgik ganske tydeligt, at det ikke var noget du selv havde lavet.
Vi kan hermed konkludere, at ikke al kode bliver pæn bare fordi det er
open-source

--
Med venlig hilsen
- Jacob Atzen

Dennis Munding (17-08-2005)
Kommentar
Fra : Dennis Munding


Dato : 17-08-05 17:30

Hej Jacob!
"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrndg4g6a.a1s.jacob@tank.aub.dk...
> Til dit andet spørgsmål, hvordan du udvælger første næstkommende event.
> Du kan bruge følgende (meget grimme) SQL forespørgsel:
>
> SELECT *
> FROM calendar_events
> WHERE EventYear > 2005
> OR (EventYear = 2005 AND EventMonth > 8)
> OR (EventYear = 2005 AND EventMonth = 8 AND EventDay >= 15)
> ORDER BY EventYear ASC, EventMonth ASC, EventDay ASC
> LIMIT 1;

Jeg har nu forsøgt at bruge ovenstående kode, hvor jeg har erstattet tallene
med kode således:

SELECT *
FROM calendar_events
WHERE EventYear > '" . $year . "'
OR (EventYear = '" . $year . "' AND EventMonth > '" . $month . "')
OR (EventYear = '" . $year . "' AND EventMonth = '" . $month . "' AND
EventDay >= '" . $time . "')
ORDER BY EventYear ASC, EventMonth ASC, EventDay ASC
LIMIT 1;

Men det virker ikke...??
Hvad har jeg misset??
Skal $year o.s.v. defineres inden jeg prøver at hente data?
(Jeg lærer s'gu aldrig det her!) :-/

Den udskriver helt nøjagtig dette:

Hvornår: /8-2005 kl. .
Hvad: array

Jeg fatter ikke en dyt!
Har måske ikke forklaret det ordenligt....?


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/
http://www-mundings-memorial.dk/
http://www.cantica.dk/



Jacob Atzen (17-08-2005)
Kommentar
Fra : Jacob Atzen


Dato : 17-08-05 18:02

On 2005-08-17, Dennis Munding <mail@invalid.com> wrote:
> Hej Jacob!
> "Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
> news:slrndg4g6a.a1s.jacob@tank.aub.dk...
>> Til dit andet spørgsmål, hvordan du udvælger første næstkommende event.
>> Du kan bruge følgende (meget grimme) SQL forespørgsel:
>>
>> SELECT *
>> FROM calendar_events
>> WHERE EventYear > 2005
>> OR (EventYear = 2005 AND EventMonth > 8)
>> OR (EventYear = 2005 AND EventMonth = 8 AND EventDay >= 15)
>> ORDER BY EventYear ASC, EventMonth ASC, EventDay ASC
>> LIMIT 1;
>
> Jeg har nu forsøgt at bruge ovenstående kode, hvor jeg har erstattet tallene
> med kode således:
>
> SELECT *
> FROM calendar_events
> WHERE EventYear > '" . $year . "'
> OR (EventYear = '" . $year . "' AND EventMonth > '" . $month . "')
> OR (EventYear = '" . $year . "' AND EventMonth = '" . $month . "' AND
> EventDay >= '" . $time . "')
> ORDER BY EventYear ASC, EventMonth ASC, EventDay ASC
> LIMIT 1;
>
> Men det virker ikke...??
> Hvad har jeg misset??
> Skal $year o.s.v. defineres inden jeg prøver at hente data?

Ja, naturligvis skal du definere, hvad der skal stå, hvem skulle ellers
gøre det?

Bemærk, at der i forvejen er brugt variable med navnene $year og $month,
så du skal nok finde på noget andet. Hvis du ved, at det altid er dags
dato du vil have fat i kan du bruge:

SELECT *
FROM calendar_events
WHERE EventYear > '" . date('Y') . "'
OR (EventYear = '" . date('Y') . "' AND EventMonth > '" . date('m') . "')
OR (EventYear = '" . date('Y') . "' AND EventMonth = '" . date('m') . "' AND
EventDay >= '" . date('d') . "')
ORDER BY EventYear ASC, EventMonth ASC, EventDay ASC
LIMIT 1;

--
Med venlig hilsen
- Jacob Atzen

Dennis Munding (17-08-2005)
Kommentar
Fra : Dennis Munding


Dato : 17-08-05 22:04

Hej Jacob!
"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrndg6rbd.a1s.jacob@tank.aub.dk...
> Ja, naturligvis skal du definere, hvad der skal stå, hvem skulle ellers
> gøre det?

Ja, ja! Du må bære over med mig - husk på, at jeg jo er Newbie!

> Bemærk, at der i forvejen er brugt variable med navnene $year og $month,
> så du skal nok finde på noget andet. Hvis du ved, at det altid er dags
> dato du vil have fat i kan du bruge:
>
> SELECT *
> FROM calendar_events
> WHERE EventYear > '" . date('Y') . "'
> OR (EventYear = '" . date('Y') . "' AND EventMonth > '" . date('m') . "')
> OR (EventYear = '" . date('Y') . "' AND EventMonth = '" . date('m') . "'
> AND
> EventDay >= '" . date('d') . "')
> ORDER BY EventYear ASC, EventMonth ASC, EventDay ASC
> LIMIT 1;

Det er ikke bare dags dato, men også tidspunkt på dagen - der er nemlig
nogle dage, hvor der er mere end én event, og jeg skal kun have den
førstkommende!
D.v.s. at hvis kl. er 15:17 i morgen, og der er en event kl. 16:30 og en kl.
20:00, er det kun den kl. 16:30, som skal udskrives.

Eller hvis der er en event kl. 14:45 og en kl. 17:00, er det kun den kl.
17:00, som skal udskrives, da kl. jo har passeret 14:45!

Håber du forstår...?

Men nu prøver jeg lige dit forslag af og ser, hvad der sker...

Mange tak for din store indsats!


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/
http://www-mundings-memorial.dk/
http://www.cantica.dk/



Erik Ginnerskov (16-08-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 16-08-05 17:50

Jacob Atzen wrote:

> Din reference er desværre lidt uhåndterbar. Min newsklient viser i alt
> fald ikke umiddelbart tidspunkter for indlæg. Har du et message-id
> eller en google groups url?

Message-ID: <42f39818$0$7373$ba624c82@nntp02.dk.telia.net>

Det skulle vist være den oplysning, du søger.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408928
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste