Avatar billede macho Praktikant
02. marts 2009 - 18:54 Der er 11 kommentarer og
1 løsning

Skal undgå række, hvis to poster indeholder bestemt indhold

Hej,

Jeg skal have vist en enkelt post, som forekommer enten i dag eller senere, men skal undgå poster, hvor 2 bestemte felter indeholder: '00:00:00'.

$data finder poster i tabellen, hvor datoen er idag eller senere. Jeg vil bare begrænse $data således, at hvis der er 2 rækker (tid1 og tid2), som indeholder '00:00:00', så skal denne post ikke vises.

$data = mysql_query("SELECT * FROM tabel WHERE dato>=".GregorianToJD(date('n'),date('j'),date('Y'))." ORDER BY dato ASC LIMIT 1") or die(mysql_error());

Hvordan gør tilføjer jeg i ovenstående, så jeg undgår poster, hvis BÅDE tid1 og tid2 indeholder '00:00:00'?
Avatar billede jakobdo Ekspert
02. marts 2009 - 19:18 #1
Hvad med:
WHERE tid1 <> '00:00:00' AND tid2 <> '00:00:00'
Avatar billede macho Praktikant
02. marts 2009 - 19:21 #2
Jakobdo - den har jeg prøvet, men så får jeg ingen poster frem, hvis f.eks. tid2 feks. har tiden '23:00:00'
?
Avatar billede jakobdo Ekspert
02. marts 2009 - 20:23 #3
Hmm, den burde da ellers være ok...
Avatar billede macho Praktikant
02. marts 2009 - 20:31 #4
Nej, men jeg fandt selv en løsning som er testet og virker:

$data = mysql_query("SELECT * FROM tabel WHERE dato>=".GregorianToJD(date('n'),date('j'),date('Y'))." AND randtid OR dato>=".GregorianToJD(date('n'),date('j'),date('Y'))." AND bjertid<>'00:00:00'  ORDER BY dato ASC LIMIT 1") or die(mysql_error());
Avatar billede macho Praktikant
02. marts 2009 - 20:33 #5
Nej, der var jeg også for hurtig - den virker dælme heller ikke!
Avatar billede macho Praktikant
02. marts 2009 - 20:43 #6
Den her virker - og så lukker jeg spørgsmålet. Men tak for tiden til jakobdo.

$data = mysql_query("SELECT * FROM tabel WHERE dato>=".GregorianToJD(date('n'),date('j'),date('Y'))." AND tid1<>'00:00:00' OR dato>=".GregorianToJD(date('n'),date('j'),date('Y'))." AND tid2<>'00:00:00' ORDER BY dato ASC LIMIT 1") or die(mysql_error());
Avatar billede macho Praktikant
02. marts 2009 - 20:43 #7
Luk
Avatar billede jakobdo Ekspert
02. marts 2009 - 20:52 #8
Vil den ikke virke, hvis begge er 00:00:00 ?
Avatar billede macho Praktikant
02. marts 2009 - 20:58 #9
Hvis begge er 00:00:00 så skal den IKKE vises, men hvis bare den ene er 00:00:00 så SKAL den vises. Dette får jeg opfyldt med mit svar herover.
Avatar billede jakobdo Ekspert
02. marts 2009 - 21:03 #10
OR betyder jo eller.
Så hvis tid1 = 00:00:00 og tid2 = 00:00:00 så vil din sql "melde" den som sand.
Avatar billede macho Praktikant
02. marts 2009 - 21:30 #11
Ja, og jeg skriver jo også (i klart sprog):

1. Hvis datoen er idag eller senere OG tid1<> 00:00:00

ELLER:

2. Hvis datoen er idag eller senere OG tid2<> 00:00:00

d.v.s., at at alle poster hvor datoen er idag eller senere SAMT ENTEN tid1 ELLER tid2 <> 00:00:00 så skal den vises.

Uanset så virker det som jeg ønsker, men måske vi taler lidt ved siden af hinanden? Jeg ved det ikke helt :-)
Avatar billede jakobdo Ekspert
02. marts 2009 - 21:38 #12
Whatever, bare du har løst dit problem, så er alt vel ok.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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