iT邦幫忙

0

Loop array in a date period

  • 分享至 

  • xImage

我選了3月1到8號,活動組合有3個,我想得到的結果是這樣
21-03-01 Monday / 跳舞 (組合一節目)
21-03-08 Monday / 射箭(組合二節目)
執行結果卻出了
21-03-01 Monday / 跳舞
21-03-01 Monday / 射箭
21-03-01 Monday / 遠足
21-03-08 Monday / 跳舞
21-03-08 Monday / 射箭
21-03-08 Monday / 遠足

如果我我選了3月1到15號,活動組合有3個,得到的結果應該是
21-03-01 Monday / 跳舞 (組合一節目)
21-03-08 Monday / 射箭(組合二節目)
21-03-15 Monday / 遠足(組合三節目)
如果我我選了3月1到15號,活動組合有2個,得到的結果應該是
21-03-01 Monday / 跳舞 (組合一節目)
21-03-08 Monday / 射箭(組合二節目)
21-03-15 Monday / 跳舞 (組合一節目)

新手不能回覆,所以我直接改文章好了

各位大大師傅學長學姐可以教教我嗎,非常感謝

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Bootstrap Example</title>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" />
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
    </head>
    <body>
        <div class="container-fluid">
            <form action="test.php" method="post">
                <div class="card">
                    <div class="card-body">
                        <div class="row">
                            <div class="col-lg-10">
                                <div class="row">
                                    <div class="input-group mb-3 col">
                                        <div class="input-group-prepend">
                                            <span class="input-group-text">開始:</span>
                                        </div>
                                        <input type="date" class="form-control" name="dateStart" value="2021-04-05">
                                    </div>
                                    <div class="input-group mb-3 col">
                                        <div class="input-group-prepend">
                                            <span class="input-group-text">結束:</span>
                                        </div>
                                        <input type="date" class="form-control" name="dateEnd" value="2021-04-18">
                                    </div>
                                </div>
                            </div>
                            <div class="col-lg-2">
                                <a href="test.php" class="btn btn-info" role="button">重新載入</a>
                                <button type="submit" class="btn btn-primary">輸出</button>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="row">
                    <div class="col-lg-12">
                      <h3 class="text-center">輸出結果示範<small class="ml-5">在時段內循環輸出活動組合</small></h3>
                      

  <table class="table table-striped table-bordered">
    <tbody>
      <tr>
        <td>日期</td>
        <td>活動</td>  
        <td>這是提示</td> 
      </tr>
      <tr>
        <td>2021-04-01</td>
        <td>足球</td>  
        <td>因為4-1是星期四,所以這裡是足球,不是星期一的跳舞</td> 
      </tr>
      <tr>
        <td colspan="3">.......</td>        
      </tr>
      <tr>
        <td>2021-04-05</td>
        <td>射箭</td>  
        <td>第二個活動組合的星期一</td> 
      </tr>
    </tbody>
  </table>
  
  
  <table class="table">
    <thead>
      <tr>
        <th style="width:400px;">執行結果</th>
        <th>結果問題</th>
        <th style="width:700px;">正確結果</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>
<?php
 if($_POST){
$ss = $_POST['d1'];
$startdate = strtotime($_POST['dateStart']);
$enddate = strtotime($_POST['dateEnd']); 
    while ( $startdate <= $enddate) {
    foreach ($ss as $key => $value) {
      if(date("l", $startdate)=='Monday'){
      echo '<h3>'.date("y-m-d", $startdate).' '.date("l", $startdate).'   /  '.$_POST['d1'][$key].'</h3>';
    }
}
$startdate = strtotime("+1 day", $startdate);   
    }
}
?>		
		
		</td>
        <td>4月5號到18號只有兩個星期一,所以這裡出活動表裡星期一的 跳舞 和 射箭 就可以了, 遠足要有3個星期一才可以放</td>
        <td>
		<h3 class="text-danger">時間是4月5到18號只有兩個星期而且都有星期一,所以結果是</h3>
		<h3>21-04-05 Monday / 跳舞  <small class="ml-5">它是活動表第一個星期一的</small></h3>
		<h3>21-04-12 Monday / 射箭 <small class="ml-5">它是活動表第一個星期一的</small></h3>
		</td>
      </tr>
    </tbody>
  </table>   
  


                    </div>
                    <div class="col-lg-12">
                        <div class="card">
                            <div class="card-body">
                                <h2>活動表<small class="ml-5">每星期不同的活動組合</small></h2>
                                <table class="table table-bordered table-striped table-hover">
                                    <thead>
                                        <tr>
                                            <th>星期一</th>
                                            <th>星期二</th>
                                            <th>星期三</th>
                                            <th>星期四</th>
                                            <th>星期五</th>
                                            <th>星期六</th>
                                            <th>星期天</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                            <td><input type="text" class="form-control" name="d1[]" value="跳舞" /></td>
                                            <td><input type="text" class="form-control" name="d2[]" value="跑步" /></td>
                                            <td><input type="text" class="form-control" name="d3[]" value="跑步" /></td>
                                            <td><input type="text" class="form-control" name="d4[]" value="足球" /></td>
                                            <td><input type="text" class="form-control" name="d5[]" value="跑步" /></td>
                                            <td><input type="text" class="form-control" name="d6[]" value="跑步" /></td>
                                            <td><input type="text" class="form-control" name="d7[]" value="休息" /></td>
                                        </tr>
                                        <tr>
                                            <td><input type="text" class="form-control" name="d1[]" value="射箭" /></td>
                                            <td><input type="text" class="form-control" name="d2[]" value="航拍" /></td>
                                            <td><input type="text" class="form-control" name="d3[]" value="游泳" /></td>
                                            <td><input type="text" class="form-control" name="d4[]" value="逛街" /></td>
                                            <td><input type="text" class="form-control" name="d5[]" value="玩遊戲" /></td>
                                            <td><input type="text" class="form-control" name="d6[]" value="藍球" /></td>
                                            <td><input type="text" class="form-control" name="d7[]" value="自助餐" /></td>
                                        </tr>
                                        <tr>
                                            <td><input type="text" class="form-control" name="d1[]" value="遠足" /></td>
                                            <td><input type="text" class="form-control" name="d2[]" value="跑步" /></td>
                                            <td><input type="text" class="form-control" name="d3[]" value="看電影" /></td>
                                            <td><input type="text" class="form-control" name="d4[]" value="看書" /></td>
                                            <td><input type="text" class="form-control" name="d5[]" value="跑步" /></td>
                                            <td><input type="text" class="form-control" name="d6[]" value="休息" /></td>
                                            <td><input type="text" class="form-control" name="d7[]" value="跑步" /></td>
                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                </div>
            </form>
        </div>
    </body>
</html>

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
小魚
iT邦大師 1 級 ‧ 2021-03-27 13:15:39

你意思是說你一個星期只想印出一個,
但現在卻印出三個嗎?
因為你用了foreach下去跑吧,
或許你可以用$key下去判斷.
而且你的$_POST['d1'][$key]其實可以用$value就好了,
要不然你的foreach是跑辛酸的嗎?

我要發表回答

立即登入回答