
以下の日付プルダウンですが、
任意の日付が選択されたときに、
その値(日付)を他の変数に渡せるようにしたいです。
どのように他の変数に渡せば良いでしょうか?
<?
$today=time();
$limit=30;
echo "<select name=puldown>";
$menu=$today;
for($i=0; $i<$limit; $i++){
$menu=date("Y/m/d",$today-86400 * $i);
echo "<option value=$menu>$menu</option> \n";
}
echo "</select>";
?>
No.5ベストアンサー
- 回答日時:
同じページへ渡すのであればPOSTよりGETのが書きやすいかもしれないです。
main.phpの先頭でプルダウンが変更された時とそうでないときの判定が必要になります。----- ページの先頭 -----
<?php
if(isset($_GET['sendday']))
{
//日付を受け取る
$sendday = $_GET['sendday'];
//SQL用に日付を加工
$sqlday = addslashes(date('Y/m/d',$sendday));
//DB接続・選択処理
//SQL作成
//SQL実行
}
//自身のスクリプト名
$self = $_SERVER['SCRIPT_NAME'];
?>
html記述開始
<!DOCTYPE ~
で、javascript記述ですがプルダウンのoptionのvalueにジャンプしたいURLとそのURLに渡したい値をパラメータでつけてやって飛ばすようにします。
<SCRIPT LANGUAGE="JavaScript">
<!--
function Jump()
{
//valueを取得する
url = f.elements['pulldown'].options[f.elements['pulldown'].selectedIndex].value
if(url != "-")
{
//指定ページへジャンプ
location.href = url;
}
}
// -->
</SCRIPT>
html記述
<body>
~~~
ジャンプ後プルダウン部分は表示しないのであれば
<?php
//ジャンプする前
if(!isset($_GET['sendday']))
{
?>
<form name="f">
<select name="pulldown" onChange="Jump();">
<option value="-" >日付を選択</option>
<?php
$limit=30;
for($i=0;$i<$limit;$i++)
{
//今日から30日間
$day = mktime (0, 0, 0, date("m"), date("d")+$i, date("y"));
$strday = date('Y/m/d', $day);
?>
<option value="<?php echo $self ?>?sendday=<?php echo $day ?>"><?php echo $strday ?></option>
<?php
}
?>
</select>
</form>
<?php
}
//ジャンプした後
else
{
?>
SQLを<?php echo $sqlday ?>で抽出した結果をここに記述
<?php
}
?>
</body>
こんな感じではないでしょうか。
何度もありがとうございます!
今回は、簡単なコード修正で済むのでANo.4さんのやり方で行くことにしましたが、貴重な手法をお教えいただき、大変感謝しています。
ぜひ、今後に役立たせていただきたいと思います。
何かありましたら、またよろしくご教授くださいませ。
No.3
- 回答日時:
この回答への補足
ありがとうございます。
ただ、別ページに飛ばしたいわけではなく、同ページに更新をかけるような感じになるので、以下のようにやってみました。
が、PHPが処理される前に、同ページ(main.php)に飛ぶだけ(ただ更新されるだけ)で、ブラウザには何も反映されないようです。
<SCRIPT LANGUAGE="JavaScript">
<!--
function Jump() {
location.href = 'main.php';
}
// -->
</SCRIPT>
<select name="pulldown" onChange='Jump();'>
No.2
- 回答日時:
やりたいことがイマイチよく判らないのですが・・・。
新しい変数に渡したいだけなら
<?
$today=time();
$limit=30;
//データをPOSTで受取新しい変数へ
$new_hensu = $_POST["puldown"];
echo "<FORM METHOD='POST' ACTION='$SERVER[PHP_SELF]'>";
echo "<select name=puldown>";
$menu=$today;
for($i=0; $i<=$limit; $i++){
$menu = date("Y-m-d", $today - 86400 * $i);
echo "<option value=$menu>$menu</option> \n";
}
echo "</select>";
echo "<input type='submit' value='Go!'>";
echo "<form>";
echo "<br>";
echo "$new_hensu";
?>
こんな感じ?
この回答への補足
ご回答ありがとうございます。
やりたいことは、単に選択された日付で、テーブルのデータを抽出してブラウザに返したいだけです。
SQL以降はできているので、あとは日付選択で日付を変数に渡すところだけなのです。
日付を選択したと同時にサブミットさせたいのですが、何か良い方法はありますでしょうか?
javascriptとか使わないと、PHPだけだと無理でしょうかね?
No.1
- 回答日時:
書かれたソースを実行するとエラーがでるのですが・・・。
----- 日付選択側php -----
<body>
<form name="form1" method="post" action="getdate.php" target="_blank">
<select name="pulldown">
<?php
$limit=30;
for($i=0;$i<$limit;$i++)
{
//今日から30日分
$day = mktime (0, 0, 0, date("m"), date("d")+$i, date("y"));
$strday = date('Y/m/d', $day);
?>
<option value="<?php echo $day ?>"><?php echo $strday ?></option>
<?php
}
?>
</select>
<br>
<br>
<input type="submit" name="Submit" value="送信">
</form>
</body>
----- 受け取り側php -----
<?php
$getdate = $_POST['pulldown'];
$viewdate = date('Y/m/d', $getdate);
echo $viewdate;
?>
上記のような感じでできるかと思います。
渡す時は整形する前の形で渡して受け取った側で整形してやるのが簡単で良いかと思います。
この回答への補足
書いたソースを実行するとエラーがでるのは、見やすさを優先して全角スペースを入れて投稿してしまったためだと思います。
すいません。。
ご回答ありがとうございました!
ただ、日付を選択したと同時にサブミットさせたいのですが、何か良い方法はありますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
選択されたプルダウンの値を変...
-
セレクトしたときに全て初期状...
-
【PHP&JavaScript】複数の別ウ...
-
php メールフォーム プルダウ...
-
ラジオボタンとプルダウンで困...
-
local環境でのテストで、FORMタ...
-
<select>の値によってclassを変...
-
配列をhiddenで
-
処理後のページ内移動について
-
HTMLフォームで複数選択のチェ...
-
PHPでフォームデータをサンクス...
-
検索時の選択内容を保持する方法
-
PHPでURLにジャンプするには?
-
HTMLで前の画面に戻る時、入力...
-
POSTの項目に追加
-
PHPで画像の渡しが上手く行きま...
-
サーバ上でGETはできるがPOSTが...
-
php+mysqlでの重複チェックにつ...
-
PHPで、ボタンを押すと同じペー...
-
フォームで作った送信ボタンが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<select>文、foreachと初期値設定
-
複数 selectフォームから今回on...
-
vb2005のcomboboxについて
-
PHPとpostgreSQL プルダウンの作成
-
multipleを使用するとプルダウ...
-
[PHPとHTML]リストボックスにつ...
-
現在時刻を反映させた時刻のプ...
-
<select>の値によってclassを変...
-
セレクトしたときに全て初期状...
-
phpの変数について
-
local環境でのテストで、FORMタ...
-
2つのプルダウンメニュから受け...
-
既存エンジンを利用したHTML&P...
-
phpの質問です
-
PHP プルダウンメニュー
-
コンボボックス(プルダウン)...
-
プルダウンで選択された値を保持
-
PHPでセレクトメニュー
-
ホームページのセレクトメニュ...
-
多次元配列の値が変わってしま...
おすすめ情報