31. august 2006 - 15:14
Der er
35 kommentarer og 2 løsninger
Flere datoer i DB på samme tid.
Hej der ... Jeg har et problem! Jeg skal bruge en liste med alle dagene i en valgt måned, f.eks. aug. 2006 - når denne måned er valgt, skal alle dagene listes op ... Tirsdag 01.08.2006 Onsdag 02.08.2006 o.s.v. Ud for hver, skal der være en checkbox, så nogle af dem kan vælges - datoerne, skal så sendes til MySQL, så kun de valgte bliver reg. Hvordan gør man det!?
Annonceindlæg fra Computerworld
31. august 2006 - 16:05
#1
Nogen der kan hjælpe?
31. august 2006 - 16:11
#2
Jeg er lige gået i gang med at lave et eksempel, men jeg er ikke så meget inde i foreach(), strftime() og mktime(), så det kan være det ser lidt klodset ud.
31. august 2006 - 16:12
#3
Okay - vi må se ...
31. august 2006 - 16:22
#4
Så, her kommer det: <?php setlocale(LC_ALL, 'danish'); $aar = 2004; $maaned = 12; $d = mktime(0,0,0,$maaned,1,$aar); $d = date('t',$d); if($d == "28") { echo "28 dage i måneden"; $arr = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28"); } else if($d == "29") { echo "29 dage i måneden"; $arr = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29"); } else if($d == "30") { echo "30 dage i måneden"; $arr = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30"); } else if($d == "31") { echo "31 dage i måneden"; $arr = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31"); } echo "<br /><br />"; echo "<form method=\"post\" action=\"\">"; foreach ($arr as $value) { $dato = strftime("%A, %e.%b.%y", mktime(0, 0, 0, $maaned, $value, $aar)); echo $dato; echo "<input type=\"hidden\" name=\"hidden\" value=\"$dato\"><input type=\"checkbox\" name=\"dato\" value=\"dato[1]\"><br />"; } echo "<input type=\"submit\" name=\"submit\" value=\"Tilføj dage til databasen\"></form>"; ?> Det er dog ikke helt færdigt, der mangler, hvad den skal gøre ved det man sender. Jeg er ikke helt sikker på denne linie: <input type=\"checkbox\" name=\"dato\" value=\"dato[1]\">
31. august 2006 - 16:26
#5
Ser lige på det - det ser jo lovende ud - 1000 tak for hjælpen! Læg bare svar - du får points!
31. august 2006 - 16:27
#6
Ok, hvis det er nok?
31. august 2006 - 16:28
#7
Jeg skal nok skrive løsningen, hvis jeg finder ud af det :-)
31. august 2006 - 16:39
#8
Det var nu alligvel meget at skulle lave 4 arrays for.. I stedet for en foreach, kunne man sagtens nøjes med en for $aar = 2004; $maaned = 12; $d = mktime(0,0,0,$maaned,1,$aar); $d = date('t',$d); for ($dag=1;$dag<=$d;$dag++) { $dato = strftime("%A, %e.%b.%y", mktime(0, 0, 0, $maaned, $value, $aar)); echo $dato; echo "<input type=\"hidden\" name=\"hidden\" value=\"$dato\"><input type=\"checkbox\" name=\"dato\" value=\"dato[1]\"><br />"; }
31. august 2006 - 16:41
#9
Jeg tænkte nok, der nok ville komme en og klare ærterne :-)
31. august 2006 - 16:41
#10
En lille forglemmelse i farten.. $aar = 2004; $maaned = 12; $d = mktime(0,0,0,$maaned,1,$aar); $d = date('t',$d); for ($dag=1;$dag<=$d;$dag++) { $dato = strftime("%A, %e.%b.%y", mktime(0, 0, 0, $maaned, $dag, $aar)); echo $dato; echo "<input type=\"hidden\" name=\"hidden\" value=\"$dato\"><input type=\"checkbox\" name=\"dato\" value=\"dato[1]\"><br />"; }
31. august 2006 - 16:43
#11
shooka >> Jeg har jo ikke ændret i måden dit script præsentere dataene på, kun måden hvorpå at dataene bliver tilgængelige. Det er egenlig bare en anden måde at gøre det samme på, men jeg vil mene at 4 arrays er lige nok overkill !-)
31. august 2006 - 16:43
#12
Så mangler du bare denne linie: setlocale(LC_ALL, 'danish');
31. august 2006 - 16:44
#13
Det så også lidt voldsomt ud :D
31. august 2006 - 16:44
#14
fixxxer> Den skriver samme dato hver dag...
31. august 2006 - 16:45
#15
Korrekt, jeg startede egenlig bare ud med at ville illustrere hvordan det kunne gøres med en for-løkke, men endte med at kopiere det hele.. og så kom setlocale ikke med.
31. august 2006 - 16:45
#16
Bruger du mit sidste eksempel? I den første glemte jeg at rette en variabel til fra shooka's script.
31. august 2006 - 16:46
#17
Ja
31. august 2006 - 16:47
#18
4. dec. hele vejen ...
31. august 2006 - 16:47
#19
Det lyder mystisk. Det er ikke sket ved mig
31. august 2006 - 16:48
#20
31. august 2006 - 16:49
#21
Ja det lyder godt nok mystisk, jeg har lige copy/paste det og testet det..
31. august 2006 - 16:49
#22
Jeg får samme data som shooka
31. august 2006 - 16:50
#23
Underligt...
31. august 2006 - 16:51
#24
Prøv lige at copy/paste det her.. <? setlocale(LC_ALL, 'danish'); $aar = 2004; $maaned = 12; $d = mktime(0,0,0,$maaned,1,$aar); $d = date('t',$d); for ($dag=1;$dag<=$d;$dag++) { $dato = strftime("%A, %e.%b.%y", mktime(0, 0, 0, $maaned, $dag, $aar)); echo $dato; echo "<input type=\"hidden\" name=\"hidden\" value=\"$dato\"><input type=\"checkbox\" name=\"dato\" value=\"dato[1]\"><br />"; } ?> I et tomt script og se hvad der sker..
31. august 2006 - 16:53
#25
Samme resultat ...
31. august 2006 - 16:54
#26
Link?
31. august 2006 - 16:54
#27
Men pyt - i deler bare points, så finder jeg nok ud af det .... måske en indstillinh i min PHP-fætter!
31. august 2006 - 16:56
#28
Hvilken PHP version bruger du?
31. august 2006 - 16:56
#29
2 sek.
31. august 2006 - 16:57
#30
Og på hvilken platform du kører PHP?
31. august 2006 - 16:58
#31
PHP Version 4.2.3 - Apache
31. august 2006 - 17:02
#32
I skal ikke bruge mere tid - smid svar begge, og 1000 tak!
Slettet bruger
31. august 2006 - 17:02
#33
Prøv ret (det burde ellers virke med fixxxer's kode): $d = mktime(0,0,0,$maaned,1,$aar); $d = date('t',$d); -> $d = date("t", mktime(0,0,0,$maaned,1,$aar));
31. august 2006 - 17:05
#34
Nej - det samme...
31. august 2006 - 17:07
#35
4.2.3 er også nogen versioner siden, du burde opdatere, selvom det ikke er en garenti for at det får det til at virke..
31. august 2006 - 17:07
#36
Og et svar
31. august 2006 - 17:10
#37
Jeg har lagt et svar tidligere ;)
Vi tilbyder markedets bedste kurser inden for webudvikling