2017-04-10 22 views
0

を押すと選択した月と日の日を表示する必要がありますボタンを押します。2つのそれぞれのドロップダウンから選択された月と日を入力してください

onchange()私はREQUESTGETをURLから入手しようとしましたが、間違ったことをしています。 1 /方法+「形式」2 /割り当てる$のVARSにおけるアクション:私はあなたのコード内のいくつかのことが欠けている現在のコードが静的であることを知っていて、2003年

<table> 
<tr> 
    <form id="frmA" class="form-inline" role="form" > 
     <td align="right"> 
      <select id="month" name="month" class="form-control" required="required"> 
       <option value="">Select Month...</option> 
       <option value='1'>January</option> 
       <option value='2'>February</option> 
       <option value='3'>March</option> 
       <option value='4'>April</option> 
       <option value='5'>May</option> 
       <option value='6'>June</option> 
       <option value='7'>July</option> 
       <option value='8'>August</option> 
       <option value='9'>September</option> 
       <option value='10'>October</option> 
       <option value='11'>November</option> 
       <option value='12'>December</option> 
      </select> 
     </td> 
     <td> 
      <select id="year" name="year" class="form-control" required="required"> 
      <?php 
       foreach (range(date('Y'), $earliest_year) as $x) { 
       print '<option value="'.$x.'"'.($x === $already_selected_value ? ' 
       selected="selected"' : '').'>'.$x.'</option>';} 
       ?> 
      </select> 
     </td> 
     <td> 
      <input type="submit" value="Go!" /> 
     </td> 
    </form> 
</tr> 
<table> 
    <tbody> 
     <?php 
      $date = '2003-09-01'; 
      $end = '2003-09-' . date('t', strtotime($date)); 
      i=1; 
      while(strtotime($date) <= strtotime($end) && $i <= strtotime($end)) { 
       $day_num = date("d/m/Y", strtotime($date)); 
       $day_name = date('l', strtotime($date)); 
       $date = date("Y-m-d", strtotime("+1 day", strtotime($date))); 
       echo "<tr><td>$day_num - $day_name</td></tr>"; 
       i++; 
      } 
      ?> 
    </tbody> 
</table> 
+0

あなたのコード内のいくつか欠けている:1 /メソッド+ 2 /ライン上でそれらを使用する前に、$ VARSを割り当てる '形式' でアクションを - > $日付=「2003-09-01 ';未成年者の修正でこのコードサンプルをチェックしてください。[LINK](https://pastebin.com/u0ty2g45)編集:TR/TD内にフォームを置くのは良いことではありません – OldPadawan

+0

あなたのお返事ありがとうございます。私はちょうどPHPを学び始めたばかりであり、あなたのアドバイスを心に留めておきます(tr/td内のフォーム)。お返事ありがとうございます( –

+0

)返信をお待ちしています; – OldPadawan

答えて

0

の唯一の第九の月の値を表示しますそれらをオンラインで使用する前に - > $ date = '2003-09-01';

<table> 
<tbody> 
<?php 

error_reporting(E_ALL); 
ini_set('display_errors', 1); 

$month = $_POST['month']; 
$year = $_POST['year']; 

$date = "$year-$month-01"; 
$end = "$year-$month-" . date('t', strtotime($date)); 

echo"[ $month/$year/$date/$end ]"; 
/* code below will throw an error 
$i=1; 
while((strtotime($date) <= strtotime($end)) && ($i <= strtotime($end))  ) { 
$day_num = date("d/m/Y", strtotime($date)); 
$day_name = date('l', strtotime($date)); 
$date = date("Y-m-d", strtotime("+1 day", strtotime($date))); 
echo "<tr><td>$day_num - $day_name</td></tr>"; 
i++; 
} 
*/ 
?> 
</tbody> 
</table> 

<table> 
<tr> 
<form id="frmA" class="form-inline" role="form" method="post" action="mypage.php" > 
<td align="right"> 

<select id="month" name="month" class="form-control" required="required"> 
        <option value="">Select Month...</option> 
        <option value='1'>January</option> 
        <option value='2'>February</option> 
        <option value='3'>March</option> 
        <option value='4'>April</option> 
        <option value='5'>May</option> 
        <option value='6'>June</option> 
        <option value='7'>July</option> 
        <option value='8'>August</option> 
        <option value='9'>September</option> 
        <option value='10'>October</option> 
        <option value='11'>November</option> 
        <option value='12'>December</option> 
    </select> 
</td> 

<td> 
<select id="year" name="year" class="form-control" required="required"> 
<?php 
foreach (range(date('Y'), $earliest_year) as $x) { 
print '<option value="'.$x.'"'.($x === $already_selected_value ? ' 
selected="selected"' : '').'>'.$x.'</option>';} 
?> 
</select> 
</td> 

<td> 
<input type="submit" value="Go!" /> 
</td> 
</form> 
</tr></tbody> 
</table> 
+0

フォームは、テーブルtbodyまたはtrの子要素にすることはできません。そこに1つ入れようとすると、ブラウザーは表の後に表示される(表の行、表のセル、入力などの内容を残したまま)フォームを移動させる傾向があります。 –

+0

*あなたのコードにはいくつか不足しています:1 /メソッド*偽フォームを書くことがなくても、常にメソッドを持っています –

+0

@MasivuyeCokile:しかし、それを置くのはもっとクリーンです。いう ?私たちが両方のフォーム/ htmlに言及しているように+1: – OldPadawan

0
<table> 
<tbody> 
<?php 

error_reporting(E_ALL); 
ini_set('display_errors', 1); 

$month = $_REQUEST['month']; 
$year = $_REQUEST['year']; 

$date = "$year-$month-01"; 
$end = "$year-$month-" . date('t', strtotime($date)); 

$i=1; 
while((strtotime($date) <= strtotime($end)) && ($i <= strtotime($end)) ) { 
$day_num = date("d/m/Y", strtotime($date)); 
$day_name = date('l', strtotime($date)); 
$date = date("Y-m-d", strtotime("+1 day", strtotime($date))); 
echo "<tr><td>$day_num - $day_name</td></tr>"; 
$i++; 
} 
?> 
</tbody> 
</table> 
<form id="frmA" class="form-inline" role="form" method="post" action="mypage.php" > 
<table> 
<tr> 
<td align="right"> 

<select id="month" name="month" class="form-control" required="required"> 
        <option value="">Select Month...</option> 
        <option value='1'>January</option> 
        <option value='2'>February</option> 
        <option value='3'>March</option> 
        <option value='4'>April</option> 
        <option value='5'>May</option> 
        <option value='6'>June</option> 
        <option value='7'>July</option> 
        <option value='8'>August</option> 
        <option value='9'>September</option> 
        <option value='10'>October</option> 
        <option value='11'>November</option> 
        <option value='12'>December</option> 
</select> 
</td> 

<td> 
<select id="year" name="year" class="form-control" required="required"> 
<?php 
foreach (range(date('Y'), $earliest_year) as $x) { 
print '<option value="'.$x.'"'.($x === $already_selected_value ?'selected="selected"' : '').'>'.$x.'</option>';} 
?> 
</select> 
</td> 

<td> 
<input type="submit" value="Go!" /> 
</td> 

</tr> 
</table> 
</form> 
関連する問題