Avatar billede bb_maze Nybegynder
25. juni 2004 - 00:08 Der er 19 kommentarer og
3 løsninger

Fra i går eller i dag

Hejsa

Jeg har et nyhedssystem. I dette vil jeg gerne have markeret om en nyhed er ny eller gamle (1 dag).
Fx. Hvis nyheden er fra i dag så kommer der dette billede pic1.gif og hvis nyheden er fra i går kommer det billede pic2.gif.

Mit nyhedssystem er bygget op så det henter nyheden, dato'en og klokkeslettet fra en mySQL database. Dato'en kommer ud som følgende:
25-06-04

Er der nogle der har nogle ideer til hvordan jeg kunne klare det?

Scriptet skal virke når register_globals er off

På forhånd stor tak!

Hygge
Avatar billede hmmhelpinghmm Nybegynder
25. juni 2004 - 00:12 #1
noget med



if ( $dato != date("d-m-y") ) {
echo "<img scr=pic2.gif>"
}
else {
echo "<img scr=pic1.gif>"
}

Ved ikke om det med billede er rigtigt, kan ikke lige huske hvordan man skriver det med img.!
Avatar billede dennismp Nybegynder
25. juni 2004 - 00:16 #2
hvis sql:
$res = mysql_query("SELECT id, title, unix_timestamp(dato) FROM tabel ORDER BY dato DESC") or die(mysql_error());

$midnight = mktime(0,0,0,date('m'),date('d'),date('Y'));
while($row = mysql_fetch_array($res)) {
  $newsdate = $row[2];

  if($midnight <= $newsdate ) {
    print '<img src="pic1.gif">';
  } 
  elseif( ($midnight-86400) <= $newsdate ) {
    print '<img src="pic1.gif">';
  }

  // skriv nyhed ud her
}
Avatar billede bb_maze Nybegynder
25. juni 2004 - 00:18 #3
Dennismp: I den sidste skal der vel stå pic2.gif?

Hvor skal jeg skrive navnet på tabellen med dato'en?

Hygge
Avatar billede hmmhelpinghmm Nybegynder
25. juni 2004 - 00:26 #4
("SELECT id, title, unix_timestamp(dato) FROM tabel ORDER BY dato DESC") or die(mysql_error());


Byt tabel ud med navnet på din tabel

FROM tabel
Avatar billede dennismp Nybegynder
25. juni 2004 - 00:36 #5
bb_maze; ja, nr to "pic1.gif" skal rettes. "tabel" skal erstattes med dit tabelnavn, og hvis dit dato felt hedder noget andet, så skal du nok rette "dato" til noget andet. Måske tilføje LIMIT 10 så du kun viser de 10 sidste nyheder..
Avatar billede bb_maze Nybegynder
25. juni 2004 - 00:43 #6
Hmm.. Nyheden er udskrevet. Jeg skal bare have et script som går ind og ændre billedet.

Det er pænt svært at forklare... Alt det med at skrive selve nyheden ud er ordnet, det er bare problemet med billedet som skal skifte sig alt efter hvad der er i 'dato'.

Hygge
Avatar billede bb_maze Nybegynder
25. juni 2004 - 00:45 #7
Jeg har bare sat dit script ind der hvor billedet var før.

Men lidt før det, er følgende (som henter nyheden):
<?
if ($_GET[kategori] == ""){

$query = mysql_query("select * from nyheder ORDER BY date DESC limit $vis_fra, $pr_side") or die(mysql_error());

while($row = mysql_fetch_array($query)){
?>

Hygge
Avatar billede dennismp Nybegynder
25. juni 2004 - 01:04 #8
prøv:
$query = mysql_query("select nyheder.*,  unix_timestamp(date) as date2 from nyheder ORDER BY date DESC limit $vis_fra, $pr_side") or die(mysql_error());

husk bare at newsdate skal sættes til $row['date2'] i så fald.
Avatar billede hmmhelpinghmm Nybegynder
25. juni 2004 - 01:06 #9
Husk at sætte en } i dit script bb_maze!
Avatar billede bb_maze Nybegynder
25. juni 2004 - 01:27 #10
dennismp: Skal det sættes ind i stedet for det du startede med at give mig, eller skal det sættes ind i stedet for det jeg postede herinde?

friends: Den kommer senere på siden

Tak for tålmodigheden!

Hygge
Avatar billede dennismp Nybegynder
25. juni 2004 - 01:31 #11
Det sidste - det du postede for en lille time siden.
Avatar billede bb_maze Nybegynder
25. juni 2004 - 01:52 #12
Eh... Har du ikke lavet en fejl med hensyn til dato og date? Er ikke helt med...

Hygge
Avatar billede dennismp Nybegynder
25. juni 2004 - 02:45 #13
fejl? Hvilken fejl?
Avatar billede bb_maze Nybegynder
25. juni 2004 - 03:25 #14
Jamen tror det hele bliver ret blandet sammen lige nu... For der er både en række der hedder dato (den der viser dato'en) og en der hedder date (ved faktisk ikke lige hvad den bruges til, men det er vidst noget id noget).

Men er ved at være lidt træt, og tror jeg sidder og roder i det hele, så kigger på det i morgen med friske øjne, og vender så tilbage!

Hygge
Avatar billede coderdk Praktikant
25. juni 2004 - 11:33 #15
$sql = "
  SELECT
      *
  FROM
      nyheder
  WHERE
      DATEDIFF(NOW(),datofelt) <= 2
  ";
Avatar billede bb_maze Nybegynder
01. juli 2004 - 16:26 #16
Hmm.. Det virker stadig ikke.

Jeg tror det er min egen skyld, for jeg har vidst ikke forklaret helt godt.

Jeg har et nyhedsscript som henter nyheden fra en database ved hjælp af følgende kode:
<?

if ($_GET[kategori] == ""){

$query = mysql_query("select * from nyheder ORDER BY date DESC limit $vis_fra, $pr_side") or die(mysql_error());

while($row = mysql_fetch_array($query)){
?>

Her efter kommer diverse tabeller m.m. hvor resultaterne bliver udskrevet. Den tabel som indeholder dato'en hedder 'dato'.

Jeg vil gerne have et script som så kan sættes ind i stedet for et billede jeg har senere.

Er det ikke muligt at lave noget i stil med det første bud i dette emne? Altså uden at gå ind og ændre hvad der hentes fra databasen?

Hygge
Avatar billede dennismp Nybegynder
02. juli 2004 - 12:30 #17
date skal være dato i mit eksempel, så jov det er en fejl
Avatar billede bb_maze Nybegynder
05. juli 2004 - 21:36 #18
Jeg tror lige jeg vil prøve at oprette det spørgsmål igen, dog hvor jeg formulere det lidt bedre...

Dennismp er det ok hvis du får 30 point som tak for hjælp? Coderdk du får 10 point, hvis det er ok?

Hygge
Avatar billede bb_maze Nybegynder
06. juli 2004 - 12:06 #19
Til dem som er interesseret i hvordan den endelige løsning ser ud, kig her: http://www.eksperten.dk/spm/517199

Hygge
Avatar billede dennismp Nybegynder
06. juli 2004 - 16:29 #20
Det bestemmer du helt selv. Jeg er ikke rigtig aktiv her, pt.
Avatar billede bb_maze Nybegynder
15. juli 2004 - 12:21 #21
Jeg går ud fra at det er ok, så nu udeler jeg point.

Hygge
Avatar billede bb_maze Nybegynder
15. juli 2004 - 12:24 #22
Hva dææælen sker der for det her point system??

Jeg prøvede på at give Dennismp 30 point, coderdk 10 point og mig selv 60... Det burde da give 100 point? Men jeg fik af vide at jeg havde afsat flere point end spørgsmålet galte. Derfor prøvede jeg at give jer point, og lade mit eget felt stå tomt... Det gav så dette resultat.. *tsk*

Hygge
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