webForumDet fria alternativet

Skapa veckor

8 svar · 186 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200013 890 inlägg
#1

Hejsan vänner! :)
Jag behöver hjälp med en sida som ser ut enligt följande:

Användaren matar in start och slutdatum för ett projekt.

Ett exempel:
Start = 102 (vecka 2 år 2001)
Slut = 116 (vecka 16 år 2001)

Nu skall det skapar rader i en MySQL-databas. I databasen har jag en kolumn som heter 'Week' och där skall följande värden in:

102, 104, 106, 108, 110, 112, 114, 115, 116

Varje värde skall matas in på en egen rad. Lägg märke till att det bara är jämna nummer som matas in, förutom i slutet av projektet då även en ojämn vecka skall in.

Kan man få lite hjälp på traven kanske :q

------------------
/Tor
www.tor.nu

SPiNMedlem sedan mars 20007 896 inlägg
#2

Kanske nåt sånt här?

<?php
$startar = "102";
$slutar = "116";

$vStart = (int)$startar;
$vSlut = (int)$slutar;

for($i = $vStart; $i < ($vSlut + 1); $i + 2) {
     if($i == $vSlut) {
          mysql_query("INSERT INTO tbl (Week) VALUES(" . ($i - 1) . ")");
     }
     mysql_query("INSERT INTO tbl (Week) VALUES($i)");
}
?>

Kanske är nåt litet fel, men jag är lite trött... Får skylla på det isf ;)

------------------
SPiN, bjorne.w@telia.com

-- Den som går i andras fotspår kommer aldrig först --

spangoMedlem sedan juni 20008 205 inlägg
#3

Så här skulle jag ha sagt:


$start = 102;
$end = 106;

for($i = $start; $i <= $end; $i++)
&nbsp;&nbsp;&nbsp;&nbsp;if($i % 2 == 0 &#0124;&#0124; $i == $end)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_query("INSERT INTO foo VALUES ($i)");

Borde väl funka, eller hur?

------------------
You can't be young forever, but you can be immature indefinitely.

SPiNMedlem sedan mars 20007 896 inlägg
#4

Men då får man inte in den näst sista ojämna veckan, annars skulle det ha funkat... :)

------------------
SPiN, bjorne.w@telia.com

-- Den som går i andras fotspår kommer aldrig först --

Web-TorMedlem sedan nov. 200013 890 inlägg
#5

Jag ändrade koden lite och vi är på god väg men det är fortfarande ett problem kvar. Det finns ju bara 52 veckor på ett år. ;)

<?php
$startar = "102";
$slutar = "116";
$vStart = (int)$startar;
$vSlut = (int)$slutar;
for($i = $vStart; $i < ($vSlut + 1); [b][red]$i+=2[/b]) {
     if($i == $vSlut) {
          mysql_query("INSERT INTO tbl (Week) VALUES(" . ($i - 1) . ")");
     }
     mysql_query("INSERT INTO tbl (Week) VALUES($i)");
}
?>

------------------
/Tor
www.tor.nu

[Redigerat av Web-Tor den 09 okt 2001]

spangoMedlem sedan juni 20008 205 inlägg
#6

Och vad ska hända efter vecka 52, då?

näst sista ojämna veckan

Var det inte sista ojämna veckan som skulle med? :q

------------------
You can't be young forever, but you can be immature indefinitely.

Web-TorMedlem sedan nov. 200013 890 inlägg
#7

Var det inte sista ojämna veckan som skulle med?

Nu har jag fått kontraorder: Det är de två sista ojämna veckorna som skall med.

Om vi tar det tidigare exemplet:
Start = 102 (vecka 2 år 2001)
Slut = 116 (vecka 16 år 2001)

Detta skall generera följande veckor:
102, 104, 106, 108, 110, 112, 113, 114, 115, 116

Och vad ska hända efter vecka 52, då?

Efter vecka 52 så skall den fortsätta med vecka 02 nästa år.

Skulle man mata in:
Start = 146 (vecka 46 år 2001)
Slut = 206 (vecka 6 år 2002)

Så skall följande veckor skapas:
146, 148, 150, 152, 202, 203, 204, 205, 206

------------------
/Tor
www.tor.nu

[Redigerat av Web-Tor den 09 okt 2001]

Web-TorMedlem sedan nov. 200013 890 inlägg
#8

Tänkte bara säga att jag löst det.
Ni kan sluta grubbla nu. :)

Tyvärr så blev det en så fruktansvärt ful lösning så jag ids inte lägga in koden här. ;)

------------------
/Tor
www.tor.nu

SPiNMedlem sedan mars 20007 896 inlägg
#9

Var det inte sista ojämna veckan som skulle med?

Jo, det var det jag menade... Näst sista veckan alltså, var lite trött...

------------------
SPiN, bjorne.w@telia.com

-- Den som går i andras fotspår kommer aldrig först --

134 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)