Avatar billede fancy Mester
21. april 2012 - 13:02 Der er 8 kommentarer og
1 løsning

Timestamp

Jeg har følgene kode til at lave et års tal med
det jeg har brug for er at kunne finde en dato ud fra en uge dag, og kun i en uge som er uge 38 2012 jeg kunne godt lave det som faste variabler men så skal jeg rette hvert år
<?php
include "connect.php";
if(isset($_POST['button']));
$anavn = $_POST['anavn'];
$dag = $_POST['dag'];
$adag = $_POST['adag'];
$afra = $_POST['afra'];
$atil = $_POST['atil'];
$maa = $_POST['maa'];
$aar = $_POST['aar'];
$atildelt = $_POST['atildelt'];
$dato = mktime(0,0,0,$maa,$dag,$aar);
$asted = $_POST['asted'];
$abesk = $_POST['abesk'];
$pladser = $_POST['pladser'];
if($anavn!=''&&$asted!=''&&$abesk!=''&&$pladser!='')
include 'connect.php';


?>
<form id="form1" name="form1" method="post" action="add_gem.php" enctype="multipart/form-data">
  <center><br /><a href="login.php">Hoved menu</a><br /><br /><br /><table width="543" height="269" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td width="145">Vagt sted:</td>
      <td width="287"><input type="text" name="anavn" value="Vareudlevering" id="anavn" /></td>
    </tr>
    <tr>
      <td>Dato:</td>
      <td><select name="dag" id="dag">
        <option value="1" selected="selected">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
      </select>
      /
      <select name="maa" id="dag2">
        <option value="9" selected="selected">9</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
            </select>
      -
      <select name="aar" id="dag3">
      <?php
            # Timestamp:         
          $time = time();
         
          # Hvilket år er vi i:
          $year = date("Y", $time); # f.eks: 2012
            $future = $year + 10;         
         
          for($i = $year; $i <= $future; $i++) {
              if($year == $i) {
                  echo "<option value='".$i."' selected='selected'>".$i."</option>";   
              } else {
                  echo "<option value='".$i."'>".$i."</option>";   
              }
          }
         
      ?>
      </select></td>
    </tr>
    <tr>
      <td>Vagt dag:</td>
      <td> <select name="adag" id="adag">
        <option value="onsdag" selected="selected">onsdag</option>
        <option value="torsdag">torsdag</option>
        <option value="fredag">fredag</option>
        <option value="lørdag">lørdag</option>
        <option value="søndag">søndag</option>
        </td>
    </tr>
    <tr>
      <td>Vagt start:</td>
      <td><select name="afra" id="afra">
        <option value="06:00" selected="selected">06:00</option>
        <option value="08:00">08:00</option>
        <option value="09:00">09:00</option>
        <option value="10:00">l0:00</option>
        <option value="11:30">11:30</option>
        <option value="12:00">12:00</option>
        <option value="13:00">13:00</option>
        <option value="14:00">14:00</option>
        <option value="15:00">15:00</option>
        <option value="16:00">16:00</option>
        <option value="18:00">18:00</option>
        <option value="18:30">18:30</option>
        <option value="21:00">21:00</option>
        <option value="21:30">21:30</option>
        <option value="22:00">22:00</option>
        <option value="22:30">22:30</option>
        <option value="23:00">23:00</option>
     
      </td>
      <tr>
      <td>Vagt slut:</td>
      <td><select name="atil" id="atil">
        <option value="10:00" selected="selected">10:00</option>
        <option value="08:00">08:00</option>
        <option value="09:00">09:00</option>
        <option value="10:00">l0:00</option>
        <option value="12:00">12:00</option>
        <option value="13:00">13:00</option>
        <option value="14:00">14:00</option>
        <option value="15:00">15:00</option>
        <option value="16:00">16:00</option>
        <option value="17:00">17:00</option>
        <option value="18:00">18:00</option>
        <option value="18:30">18:30</option>
        <option value="12:00">12:00</option>
        <option value="21:00">21:00</option>
        <option value="21:30">21:30</option>
        <option value="22:00">22:00</option>
        <option value="23:00">23:00</option>
        <option value="00:00">00:00</option>
        <option value="01:00">01:00</option>
        <option value="01:30">01:30</option>
        <option value="02:00">02:00</option>
        <option value="02:30">02:30</option>
        <option value="03:00">03:00</option>
     
    </tr>
    <tr>
      <td height="104">Beskrivelse:</td>
      <td><textarea name="abesk"  id="textarea" cols="45" value="Medhjælp" rows="1"></textarea></td>
    </tr>
    <tr>
      <td>Pladser:</td>
      <td><input name="pladser" type="text" id="asted2" size="4" /></td>
    </tr>
   
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
    <td>Vælg forening:</td>
      <td><select name="atildelt" id="atildelt">
         
         
              <option value="VU">VU</option>
        </select>
      </td>
  </table>
  <input type="submit" name="button" id="button" value="Tilføj!" />
</form>

</body>
</html>
<?php
Avatar billede olsensweb.dk Ekspert
21. april 2012 - 14:57 #1
du kunne jo kigge på dette http://www.phpbuilder.com/board/showthread.php?t=10222903
hurtig afprøvning af et af deres eks
<?php
// http://www.phpbuilder.com/board/showthread.php?t=10222903
function StartOfWeek($year, $week){
    $Jan1 = mktime(1,1,1,1,1,$year);
    $MondayOffset = (11-date('w',$Jan1))%7-3;
    $desiredMonday = strtotime(($week-1) . ' weeks '.$MondayOffset.' days', $Jan1);
    return $desiredMonday;
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title></title>
    <style type="text/css">
    </style>
    <script type="text/javascript">
    </script>
</head>
<body>
<?php
$mondayweek=StartOfWeek(2012, 38);
echo "ugen starter d. ". date("d-m-Y", $mondayweek);

define ("ONEDAY", 86400);  // (60*60*24)
$sec = $mondayweek;
for($i=0;$i<=6;$i++, $sec+= ONEDAY) {
    if(date("D",$sec)=='Sun') {        
        break;
    }
}
echo "<br>";
echo "ugen slutter d. ". date("d-m-Y", $sec);
?>
</body>
</html>
Avatar billede fancy Mester
21. april 2012 - 23:36 #2
nu har  jeg prøvet mangr ting uden at det virker mit problem er lige nu at jeg ikke kan fide ud at få dagen til at være rigtig og få det skrevet ind i min eksterende kode .
Jeg finder dagen med date('D', $dato); alle min dato'er skrevet til db som timestamp
Avatar billede olsensweb.dk Ekspert
22. april 2012 - 16:12 #3
<?php
include "connect.php";
if(isset($_POST['button'])); // hvad er meningen med denne linje ??
...
if($anavn!=''&&$asted!=''&&$abesk!=''&&$pladser!='')
include 'connect.php'; // hvorfor includere connect.php igen ??


det som StartOfWeek retumere er et timestamp, så det bare at formatere output
hvad skal påvirkes ved uge 38 ??
bliver årtallet valgt i <select name="aar" id="dag3">';  for pågældende år    ??

et første udkast til implamentering af StartOfWeek, hvor jeg bare har sat selected day/month med ourput
<?php
// http://www.phpbuilder.com/board/showthread.php?t=10222903
function StartOfWeek($year, $week){
    $Jan1 = mktime(1,1,1,1,1,$year);
    $MondayOffset = (11-date('w',$Jan1))%7-3;
    $desiredMonday = strtotime(($week-1) . ' weeks '.$MondayOffset.' days', $Jan1);
    return $desiredMonday;
}

include "connect.php";
if(isset($_POST['button'])); // virkningsløs
$anavn = $_POST['anavn'];
$dag = $_POST['dag'];
$adag = $_POST['adag'];
$afra = $_POST['afra'];
$atil = $_POST['atil'];
$maa = $_POST['maa'];
$aar = $_POST['aar'];
$atildelt = $_POST['atildelt'];
$dato = mktime(0,0,0,$maa,$dag,$aar);
$asted = $_POST['asted'];
$abesk = $_POST['abesk'];
$pladser = $_POST['pladser'];
// if($anavn!=''&&$asted!=''&&$abesk!=''&&$pladser!='')include "connect.php";

# Timestamp:       
$time = time();       
$year = date("Y", $time); # f.eks: 2012
$mondayweek38=StartOfWeek($year, 38);
define ("ONEDAY", 86400);  // (60*60*24)
$week38wednesday=$mondayweek38+(3*ONEDAY);
list($dayweek38wednesday,$monthweek38wednesday) = explode("-", date("d-m", $week38wednesday));
?>
<form id="form1" name="form1" method="post" action="add_gem.php" enctype="multipart/form-data">
  <center><br /><a href="login.php">Hoved menu</a><br /><br /><br /><table width="543" height="269" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td width="145">Vagt sted:</td>
      <td width="287"><input type="text" name="anavn" value="Vareudlevering" id="anavn" /></td>
    </tr>
    <tr>
      <td>Dato:</td>
      <td>
      <?php     
        $sel=$dayweek38wednesday;
        $html='<select name="dag" id="dag">';             
        for($i = 1; $i <= 31; $i++) {           
            $html .= "<option value = \"$i\" ".($sel==($i) ?" selected=\"selected\"":"")."> ".$i."</option>"."\n";
            /*
            if($sel == $i) {
                $html .= "<option value='".$i."' selected='selected'>".$i."</option>"; 
            }
            else {
                $html .=  "<option value='".$i."'>".$i."</option>"; 
            }
            */
        }       
        $html .= '</select> ';
        echo $html;
      ?>       
      /     
      <?php     
        $sel=$monthweek38wednesday;
        $html='<select name="maa" id="dag2">';       
        for($i=1; $i<=12; $i++){ // hvorfor ikke starte på 1 ??
            if($sel == $i) {
                $html .= "<option value='".$i."' selected='selected'>".$i."</option>"; 
            }
            else {
                $html .=  "<option value='".$i."'>".$i."</option>"; 
            }
        }       
        $html .= '</select> ';
        echo $html;
      ?>       
      -     
      <?php
        $html='<select name="aar" id="dag3">';       
        $future = $year + 10;         
        for($i = $year; $i <= $future; $i++) {
            if($year == $i) {
                $html .= "<option value='".$i."' selected='selected'>".$i."</option>"; 
            }
            else {
                $html .=  "<option value='".$i."'>".$i."</option>"; 
            }
        }
        $html .= '</select> ';
        echo $html;
      ?>
      </td>
    </tr>
    <tr>
      <td>Vagt dag:</td>
      <td> <select name="adag" id="adag">
        <option value="onsdag" selected="selected">onsdag</option>
        <option value="torsdag">torsdag</option>
        <option value="fredag">fredag</option>
        <option value="lørdag">lørdag</option>
        <option value="søndag">søndag</option>
        </select>
        </td>
    </tr>
    <tr>
      <td>Vagt start:</td>
      <td><select name="afra" id="afra">
        <option value="06:00" selected="selected">06:00</option>
        <option value="08:00">08:00</option>
        <option value="09:00">09:00</option>
        <option value="10:00">l0:00</option>
        <option value="11:30">11:30</option>
        <option value="12:00">12:00</option>
        <option value="13:00">13:00</option>
        <option value="14:00">14:00</option>
        <option value="15:00">15:00</option>
        <option value="16:00">16:00</option>
        <option value="18:00">18:00</option>
        <option value="18:30">18:30</option>
        <option value="21:00">21:00</option>
        <option value="21:30">21:30</option>
        <option value="22:00">22:00</option>
        <option value="22:30">22:30</option>
        <option value="23:00">23:00</option>
    </select>
      </td>
      <tr>
      <td>Vagt slut:</td>
      <td><select name="atil" id="atil">
        <option value="10:00" selected="selected">10:00</option>
        <option value="08:00">08:00</option>
        <option value="09:00">09:00</option>
        <option value="10:00">l0:00</option>
        <option value="12:00">12:00</option>
        <option value="13:00">13:00</option>
        <option value="14:00">14:00</option>
        <option value="15:00">15:00</option>
        <option value="16:00">16:00</option>
        <option value="17:00">17:00</option>
        <option value="18:00">18:00</option>
        <option value="18:30">18:30</option>
        <option value="12:00">12:00</option>
        <option value="21:00">21:00</option>
        <option value="21:30">21:30</option>
        <option value="22:00">22:00</option>
        <option value="23:00">23:00</option>
        <option value="00:00">00:00</option>
        <option value="01:00">01:00</option>
        <option value="01:30">01:30</option>
        <option value="02:00">02:00</option>
        <option value="02:30">02:30</option>
        <option value="03:00">03:00</option>
    </select>
    </tr>
    <tr>
      <td height="104">Beskrivelse:</td>
      <td><textarea name="abesk"  id="textarea" cols="45" value="Medhjælp" rows="1"></textarea></td>
    </tr>
    <tr>
      <td>Pladser:</td>
      <td><input name="pladser" type="text" id="asted2" size="4" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
    <td>Vælg forening:</td>
      <td><select name="atildelt" id="atildelt">       
              <option value="VU">VU</option>
        </select>
      </td>
  </table>
  <input type="submit" name="button" id="button" value="Tilføj!" />
</form>
</body>
</html>
Avatar billede fancy Mester
22. april 2012 - 17:18 #4
Jeg beklager meget min kode jeg er et rodehovede og ikke særlig god til at programerer men prøver aligevel, og lærer noget hver gang.

Den kode du har skrevet virker fint den finder ugedagen, min drøm er at når jeg fx vælger den 20-09-2012 så sætter dem selv ugedagen jeg kan godt finde ugedagen med timestamp men kan så ikke finde ud af at lave det om til dansk, jeg har viklig prøvet mange ting.
Avatar billede olsensweb.dk Ekspert
22. april 2012 - 22:25 #5
>min drøm er at når jeg fx vælger den 20-09-2012 så sætter dem selv ugedagen
så skal der laves noget js
dette
$html='<select name="dag" id="dag">';
laves om til
$html='<select name="dag" id="dag" onchange="setday()">';

her blev vist lagt en dag for meget til
$week38wednesday=$mondayweek38+(3*ONEDAY);
skulle kun være
$week38wednesday=$mondayweek38+(2*ONEDAY);

demo  http://experten.olsensweb.dk/961623/
source http://experten.olsensweb.dk/961623?source
Avatar billede olsensweb.dk Ekspert
23. april 2012 - 17:31 #6
en alternativ løsning er at bruge jquery datapicker, man bør så selvføgelig sætte lovlige datoer serverside
denne løsning syntes jeg er pænere
demo http://experten.olsensweb.dk/961623/index_jq.html
Avatar billede fancy Mester
23. april 2012 - 18:37 #7
jeg er meget tilfreds det virker helt som min "drøm".

du skriver  #5 2 linier som du ikke mener er korekte, skal jeg rette dem eller ?

læg et svar

og endne en gang mange tak for hjælpen
Avatar billede olsensweb.dk Ekspert
23. april 2012 - 18:45 #8
>du skriver  #5 2 linier som du ikke mener er korekte, skal jeg rette dem eller ?
ja, den ene opdaterer dagene, og den anden regner en dag forkert, er rettet i demo/source #5
men tag og kig på demo i #6
Avatar billede olsensweb.dk Ekspert
23. april 2012 - 18:45 #9
og du får lige et svar her
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