2016-10-05 7 views
-3

これは私のhtmlコードです。私はデータベースに日付の値を挿入しようとしていますが、どのようにそれが可能かはわかりません。データベースに日付の値を挿入する方法

<select name="date"> 
    <option value="selected"> Day </option> 
    <option value="1">1</option> 
    <option value="2"> 2 </option> 
    <option value="3"> 3 </option> 
    <option value="4"> 4 </option> 
</select> 

<select name="date"> 
    <option value="selected"> Month </option> 
    <option value="jan"> jan </option> 
    <option value="feb"> feb </option> 
    <option value="mar"> mar </option> 
    <option value="april"> april </option> 
</select> 

<select name="date"> 
    <option value="selected"> year </option> 
    <option value="1990"> 1990 </option> 
    <option value="1991"> 1991 </option> 
    <option value="1992"> 1992 </option> 
    <option value="1993"> 1993 </option> 
</select> 
+2

あなたの 'PHP'コードはどこですか?何を試しましたか? –

+0

入力ボックスを作成して日付を入力することもできます... –

+0

これは基本的なPHPの基本です。フォームからデータを取り出し、それを使って何かをします。あなたの値が日付であるという理由だけで、それは他のフォームからデータベースへの投稿とは魔法の点で違いはありません。 –

答えて

2

serialize()とunserialize()を使用するのは簡単です。 また、[]この配列はあなたの名前のようにサインインします。

<select name="date[]"> 
        <option value="selected"> Day </option> 
        <option value="1">1</option> 
        <option value="2"> 2 </option> 
        <option value="3"> 3 </option> 
        <option value="4"> 4 </option> 
       </select> 

       <select name="date[]"> 
        <option value="selected"> Month </option> 
        <option value="jan"> jan </option> 
        <option value="feb"> feb </option> 
        <option value="mar"> mar </option> 
        <option value="april"> april </option> 
       </select> 

       <select name="date[]"> 
        <option value="selected"> year </option> 
        <option value="1990"> 1990 </option> 
        <option value="1991"> 1991 </option> 
        <option value="1992"> 1992 </option> 
        <option value="1993"> 1993 </option> 
       </select> 

とシリアル化()関数でこの名前のキーを追加し、アンシリアライズ()関数を使用してデータベースの値をアンシリアライズ:ここ は一例です。

あなたはいくつかの方法でそれを行うことができます

$date = serialize($_POST['date']); 

ビュー

$date = unserialize($date); 
      echo $date[0]."/ ".$date[1]."/ ".$date[2]; 
+0

これは、[ISO 8601形式](https://en.wikipedia.org/wiki/ISO_8601)、または「YYYY-MM-DD」にする必要があります。 – tadman

+0

これは正しく動作しています –

0

を挿入します。

ウェイ1:あなたが

<select name="dd"> 
    <option value="selected"> Day </option> 
    <option value="1">1</option> 
    <option value="2"> 2 </option> 
    <option value="3"> 3 </option> 
    <option value="4"> 4 </option> 
</select> 

<select name="mm"> 
    <option value="selected"> Month </option> 
    <option value="jan"> jan </option> 
    <option value="feb"> feb </option> 
    <option value="mar"> mar </option> 
    <option value="april"> april </option> 
</select> 

<select name="yy"> 
    <option value="selected"> year </option> 
    <option value="1990"> 1990 </option> 
    <option value="1991"> 1991 </option> 
    <option value="1992"> 1992 </option> 
    <option value="1993"> 1993 </option> 
</select> 

like-入力を選択するために、異なる名前を提供することができますフォームを送信した後は、PHP次のように値を受け取ることができます。

$date = $_POST['dd'].'/'.$_POST['mm'].'/'.$_POST['yy']; 

ウェイ2:次のように、配列としてそれらに名前を付けることができます。

$date = $_POST['date'][0].'/'.$_POST['date'][1].'/'.$_POST['date'][2]; 

注意を次のようにPHPで

<select name="date[]"> 
    <option value="selected"> Day </option> 
    <option value="1">1</option> 
    <option value="2"> 2 </option> 
    <option value="3"> 3 </option> 
    <option value="4"> 4 </option> 
</select> 

<select name="date[]"> 
    <option value="selected"> Month </option> 
    <option value="jan"> jan </option> 
    <option value="feb"> feb </option> 
    <option value="mar"> mar </option> 
    <option value="april"> april </option> 
</select> 

<select name="date[]"> 
    <option value="selected"> year </option> 
    <option value="1990"> 1990 </option> 
    <option value="1991"> 1991 </option> 
    <option value="1992"> 1992 </option> 
    <option value="1993"> 1993 </option> 
</select> 

あなたはそれらを受け取ることができます:私はあなたがタイプdateで入力フィールドを使用するか、またはテキスト入力フィールドに日付ピッカーを使用することをお勧めします。

+0

これは[SQL 8601形式](https://en.wikipedia.org/wiki/ISO_8601)、またはSQLデータベースで最もうまく動作するには 'YYYY-MM-DD'にする必要があります。 – tadman

+0

次に、月のオプションで数値を設定し、それらを予想される形式として連結することができます。 –

+0

正確に。月の値が数値だった場合、これはもっときれいになります。表示ラベルは人間が使用するためのものです。 – tadman

関連する問題