Avatar billede kimg Nybegynder
14. juni 2001 - 00:14 Der er 16 kommentarer og
1 løsning

Marker hvis ny

Hvordan kan jeg markere en post evt. med et lille ikon, hvis posten er er tilføjet indenfor de sidste 14 dage, og fjerne markering efter de 14 dage.
det er fra en MySql databasen, jeg har et felt (Timestamp)

Kim
Avatar billede wizprod.com Nybegynder
14. juni 2001 - 00:43 #1
Prøv med lidt simpel matematik og subtraktion! Du har jo været så genial at bruge timestamp :-)
Avatar billede perlarsen.com Nybegynder
14. juni 2001 - 01:45 #2
if($timestamp > (time() - 1209600){
echo \"<IMG SRC=\\\"new.gif\\\">\";
}
/NbG

(er lige lidt usikker på den der time(), om det er den rigtige kode.
Avatar billede wizprod.com Nybegynder
14. juni 2001 - 02:08 #3
En mindre fejl i ovenstående:
Det skal være:
if($timestamp > (time() - 1209600)) {
Avatar billede wizprod.com Nybegynder
14. juni 2001 - 02:09 #4
Avatar billede kimg Nybegynder
14. juni 2001 - 06:43 #5
hej, jeg kigger på det senere

Kim
Avatar billede alvion Nybegynder
14. juni 2001 - 07:00 #6
Hvis ovenstående skal virke, skal udtrækket fra MySQL laves lidt specielt. Der er nemlig ikke sammenfald mellem MySQL\'s måde at præsentere et TIMESTAMP på og det resultat som time() returnerer:

function mysqlts2unixts($ts) {
  list($year,$month,$day,$hour,$minute,$second) = split(\"([^0-9])\",$ts);
  return mktime($hour,$minute,$second,$month,$day,$year);
}

if (mysqlts2unixts($timestamp > (time() - 1209600)) {
  echo \"<img src=\'new.gif\'>\";
}
Avatar billede kimg Nybegynder
14. juni 2001 - 15:46 #7
Kan ikke få det til at virke??

Kim
Avatar billede alvion Nybegynder
14. juni 2001 - 15:49 #8
Kan du præcisere det lidt mere end bare \"Kan ikke få det til at virke??\"
Avatar billede kimg Nybegynder
14. juni 2001 - 15:52 #9
ja, undskyld den var lidt kort, jeg får en parse error on line 26
Dette er linie 26:

if (mysqlts2unixts($timestamp > (time() - 1209600)) {
 

Kim
Avatar billede alvion Nybegynder
14. juni 2001 - 16:13 #10
Ja der har jeg glemt en parantes:

if (mysqlts2unixts($timestamp) > (time() - 1209600)) {
Avatar billede kimg Nybegynder
14. juni 2001 - 16:45 #11
Hvor skal det indsættes her:

<table>
<tr>
<?php
include (\'config.inc\');
include (\'lang_setup.inc\');

$db1 = mysql_connect($host, $user, $pass);
      mysql_select_db($db,$db1);

$query = mysql_query(\"SELECT * FROM $table WHERE category = \'$cat13\' ORDER BY title LIMIT 0, 100\") or die(mysql_error());
while ($data = mysql_fetch_array($query)) {
print\"<td><a href=\\\"$installpath/show_db.php?unik_id=$data[10]\\\">$data[7]  </td>\";
$a++;

if($a == $split_links) {
print\"</tr><tr>\";
$a = 0;
}

}

?>

</tr>
</table>

Kim
Avatar billede alvion Nybegynder
14. juni 2001 - 17:57 #12
Tja hvor havde du sat den ind før? :-)
Avatar billede kimg Nybegynder
14. juni 2001 - 18:43 #13
Lige efter linket, men jeg får stadig en parse error

Kim
Avatar billede alvion Nybegynder
14. juni 2001 - 20:09 #14
Altså nu skal det jo ikke bare kastes ind som jeg har lavet det. Først og fremmest skal du udtrække dit timestamp-felt fra den database forespørgsel, du laver, og indsætte det i variablen \"$timestamp\". Når du har gjort det, vil jeg umiddelbart mene, at den \"klump\" kode jeg har lavet, skal indsættes mellem \"while...\" og \"print...\"
Avatar billede kimg Nybegynder
14. juni 2001 - 20:57 #15
Jeg har så at sige prøvet alt hvad jeg kan komme i tanke om, men jeg kan ikke få det til at virke.

Kim
Avatar billede alvion Nybegynder
15. juni 2001 - 01:59 #16
(Den berømte:) Må jeg se din kode inklusiv hvor du har prøvet at sætte den ind? Jeg skal også se hvilke felter+typer der er i din tabel
Avatar billede kimg Nybegynder
15. juli 2001 - 11:08 #17
Jeg laver det på en anden måde, men takker for hjælpen, jeg laver det så den markerer de sidste 5
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