Avatar billede steffansteffan Nybegynder
03. marts 2005 - 09:16 Der er 23 kommentarer og
1 løsning

Personliste ud fra dato

Jeg skal havde lavet en liste over person navne og deres fødselsdags dato.
Jeg skal så havde lavet en måde på hvordan javascripts kan tjekke på hvem der har fødselsdag inden for de næste 7 dage, f.eks.
Kan forstille mig det er en simpel IF sætning, men og få forbindelse til person listen og funktionen er her jeg for problemer.
Håber nogle vil komme med et forslag.
På forhånd tak.
Avatar billede olebole Juniormester
03. marts 2005 - 09:48 #1
<ole>

... og pesronlisten ... kommer den dumpende fra himmelen - eller ...?  :)

/mvh
</bole>
Avatar billede steffansteffan Nybegynder
03. marts 2005 - 09:55 #2
Jeg ved ikke hvordanden er nemmeste at lave. i en txt eller i Dodument.wrirte på samme side.
Document.wrirte("Steffan Jensen    16-10-1987")
Document.wrirte("Danni Jensen      22-09-1985")
Document.wrirte("Kristoffer Hansen  01-07-1980")

Det er lige meget hvordan den bliver listet. Bare hvad der er nemmeste for her at give et eksempel på.
Avatar billede olebole Juniormester
03. marts 2005 - 10:31 #3
Kan du ikke prøve at forklare præcist, hvad det egentlig er, du spørger om?
Avatar billede steffansteffan Nybegynder
03. marts 2005 - 10:40 #4
Jeg skal havde lavet en manual liste over nogle medarbejdere. Listen skal indeholde oplysninger om navn og fødselsdags dato.
Jeg skal så ud fra et Javascripts udtrække de personer der har fødselsdag inden for de næste 7 dage.

Hvad er det jeg forklare for dårligt er det med listen?
Avatar billede roenving Novice
03. marts 2005 - 10:44 #5
var persons = new Array();
persons[0] = ["Steffan Jensen","16-10-1987"];
persons[1] = ["Danni Jensen","22-09-1985"];
persons[2] = ["Kristoffer Hansen","01-07-1980"];

...

-- og hvor meget forventer du af funktionalitet, skal den f.eks. altid være helt præcis, også over årsskifter m.v. ?-)
Avatar billede steffansteffan Nybegynder
03. marts 2005 - 10:46 #6
Nej den behøver ikke være præcis for årsskifte o.s.v. Man skal afligevel ind og ændre hvis der kommer en ny medarbejder så om man skal ændre ved årsskifte betyder ikke noget.
Avatar billede roenving Novice
03. marts 2005 - 10:50 #7
function findAnniv(){
  var list = new Array(),today = new Date(),limit = today.getTime()+7*24*60*60*1000,anniv = null,t;
  for(i=0;persons.length>i;i++){
    t = persons[i].split("-");
    anniv = new Date(today.getFullYear(),t[1],t[0])getTime();
    if(anniv>today.getTime()&&anniv<limit)
      list[list.length] = persons[i];
  }
}

-- så har du en liste med de array-elementer, som opfylder kravet !-)
Avatar billede olebole Juniormester
03. marts 2005 - 10:52 #8
Ahaaaa ... så forstår jeg  :)
Det skal dog nok være 'mindre end' i denne linie:
    for(i=0;persons.length<i;i++){
Avatar billede olebole Juniormester
03. marts 2005 - 10:53 #9
Hehe ... nej, det skal det ikke. Jeg læste blot en anelse for hurtigt  :D
Avatar billede steffansteffan Nybegynder
03. marts 2005 - 10:55 #10
Jeg forstår desværre ikke og sætte de } og { rigtig endnu, vil du hjælpe med det?

<style type="text/javascript">
{
{
var persons = new Array();
persons[0] = ["Steffan Jensen","16-10-1987"];
persons[1] = ["Danni Jensen","22-09-1985"];
persons[2] = ["Kristoffer Hansen","01-07-1980"];

function findAnniv(){
  var list = new Array(),today = new Date(),limit = today.getTime()+7*24*60*60*1000,anniv = null,t;
  for(i=0;persons.length>i;i++){
    t = persons[i].split("-");
    anniv = new Date(today.getFullYear(),t[1],t[0])getTime();
    if(anniv>today.getTime()&&anniv<limit)
      list[list.length] = persons[i];
  }
}
</style>
Avatar billede roenving Novice
03. marts 2005 - 10:57 #11
-- du skal bare fjerne de to første ...
Avatar billede roenving Novice
03. marts 2005 - 10:57 #12
-- men du skal jo også gøre noget med listen, og der dkal du teste for om længden på listen er mindst een !-)
Avatar billede roenving Novice
03. marts 2005 - 10:59 #13
-- og så er det jo script, så script-tags !-)

<script type="text/javascript">

...

>>olebole, du er tydeligvis heller ikke belemret med den lille mærkværdighed i Stone's, at den begynder tag-farvekodning ved enhver forekomst af et tag-start-tegn !o]
Avatar billede steffansteffan Nybegynder
03. marts 2005 - 11:04 #14
Ja det er rigtig. ved ikke hvorfor jeg altid skriver style det er jo klart det er script :D.
Kan godt være ejg spørger dumt, men har ingen forståelse på JS området.
Hvor udskriver den noget?
Skal den ikke ha en Document.wirte et sted?
Avatar billede olebole Juniormester
03. marts 2005 - 11:08 #15
roenving >> nej, jeg nøjes fint med Homesites særheder - selvom de ikke er så mange  ;o)
Avatar billede roenving Novice
03. marts 2005 - 11:10 #16
Den skal smide resultatet ind i et eller andet element, hvis du vil bruge document.write, f.eks. inde i funktionen findAnniv:

function findAnniv(){
  var list = new Array(),today = new Date(),limit = today.getTime()+7*24*60*60*1000,anniv = null,t;
  for(i=0;persons.length>i;i++){
    t = persons[i].split("-");
    anniv = new Date(today.getFullYear(),t[1],t[0])getTime();
    if(anniv>today.getTime()&&anniv<limit)
      list[list.length] = persons[i];
  }
  var txt = "";
  for(i=0;list.length>i;i++)
    txt += "<br>" + list[0] + ", fødselsdag d. " + list[i];
  if(txt.length>0)
    document.write(txt.substring(4));
}
Avatar billede steffansteffan Nybegynder
03. marts 2005 - 11:15 #17
Jeg for desværre ikke noget ud på skærmen?

<script type="text/javascript">
var persons = new Array();
persons[0] = ["Steffan Jensen","03-03-1987"];
persons[1] = ["Danni Jensen","04-03-1985"];
persons[2] = ["Kristoffer Hansen","01-07-1980"];

function findAnniv(){
  var list = new Array(),today = new Date(),limit = today.getTime()+7*24*60*60*1000,anniv = null,t;
  for(i=0;persons.length>i;i++){
    t = persons[i].split("-");
    anniv = new Date(today.getFullYear(),t[1],t[0])getTime();
    if(anniv>today.getTime()&&anniv<limit)
      list[list.length] = persons[i];
  }
  var txt = "";
  for(i=0;list.length>i;i++)
    txt += "<br>" + list[0] + ", fødselsdag d. " + list[i];
  if(txt.length>0)
    document.write(txt.substring(4));
}
</script>
Avatar billede olebole Juniormester
03. marts 2005 - 11:26 #18
"Den skal smide resultatet ind i et eller andet element, hvis du vil bruge document.write"  ;o)


<div>
  <script type="text/JavaScript">findAnniv()</script>
</div>
Avatar billede roenving Novice
03. marts 2005 - 11:28 #19
Tjah, en blunder samt en måske ikke så hensigtsmæssig måde at gørte det på, men sådan:

<script type="text/javascript">
var persons = new Array();
persons[0] = ["Steffan Jensen","03-03-1987"];
persons[1] = ["Danni Jensen","04-03-1985"];
persons[2] = ["Kristoffer Hansen","01-07-1980"];

//function findAnniv(){
  var list = new Array(),today = new Date(),today = new Date(today.getFullYear(),today.getMonth(),today.getDate()),limit = today.getTime()+7*24*60*60*1000,anniv = null,t;
  for(i=0;persons.length>i;i++){
    t = persons[i][1].split("-");
    anniv = new Date(today.getFullYear(),+t[1]-1,t[0]).getTime();
    if(anniv>=today.getTime()&&anniv<limit)
      list[list.length] = persons[i];
  }
  var txt = "";
  for(i=0;list.length>i;i++)
    txt += "<br>" + list[i][0] + ", fødselsdag d. " + list[i][1];
  if(txt.length>0)
    document.write(txt.substring(4));
//}
</script>
Avatar billede steffansteffan Nybegynder
03. marts 2005 - 11:42 #20
Jeg takker så var den der. Virker som den skal..Takker Mester.
Håber det kommer en dag hvor jeg forstår JS noget bedre det er sq et nice sprog, men bare det sværer at kaste sig over, end f.eks. ASP og PHP.
Men en af grunden efter min mening er at det altid er special funktioner man bruger JS til derfor ikke reglmisset man bruger det.
Smæk et svar mester.
Avatar billede roenving Novice
03. marts 2005 - 11:48 #21
Velbekomme '-)
Avatar billede olebole Juniormester
03. marts 2005 - 11:52 #22
Nu er ASP ikke et sprog, men derudover er der ikke væsentlig forskel på at lære PHP og JS. Det er såmænd heller ikke sværere at lære JS end et af ASP-sprogene - hvoraf JS jo ovenikøbet er ét af dem  ;o)
Avatar billede roenving Novice
03. marts 2005 - 12:11 #23
-- og tak for point ;~}
Avatar billede steffansteffan Nybegynder
03. marts 2005 - 12:14 #24
Var da så lidt det er mig der takker. :)
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