2016-10-08 17 views
2

PHP配列を使い慣れていますが、フォームに登録された2つの日付の間にすべての日付を取得する配列を作成しました。DBに配列を保存します

以下参照:

$endDate=$_POST[todate]; 
      $startDate =$_POST[fromdate]; 

print_r(getDatesFromRange("$datef", "$dateto")); 

function getDatesFromRange($startDate, $endDate) 
{ 
    $return = array($startDate); 
    $start = $startDate; 
    $i=1; 
    if (strtotime($startDate) < strtotime($endDate)) 
    { 
     while (strtotime($start) < strtotime($endDate)) 
     { 
      $start = date('Y-m-d', strtotime($startDate.'+'.$i.' days')); 
      $return[] = $start; 
      $i++; 
     } 
    } 

    return $return; 
} 

これは

アレイ([0] => 2016年10月10日[1] => 2016年10月11日以下になる[2] => 2016-10-12 [3] => 2016-10-13 [4] => 2016-10-14 [5] => 2016-10-15 [6] => 2016-10-16 [7] ] => 2016-10-17 [8] => 2016-10-18 [9] => 2016-10-19)

ありますかこれらの日付のそれぞれをPHPを使用してMySQLデータベースに保存する方法は?

答えて

3

あなたは、配列の各値を挿入するためにループを行う範囲から日付を取得した後。

$date = getDatesFromRange("$datef", "$dateto"); 
    foreach ($date as $d){ 
     $sql = "INSERT INTO MyDatabase (dateCol) 
       VALUES ('$d')"; 
     if ($conn->query($sql) === TRUE) { 
      echo "New record created successfully"; 
     } else { 
      echo "Error: " . $sql . "<br>" . $conn->error; 
     } 
    } 
0

あなたは例serialize/unserialize

を使用してMySQLで配列を保存することができます -

$array = array("my", "litte", "array", 2); 

$serialized_array = serialize($array); 
$unserialized_array = unserialize($serialized_array); 

var_dump($serialized_array); // gives back a string, perfectly for db saving! 
var_dump($unserialized_array); // gives back the array again 

あなたはまた、を使用してを爆発することができます。

例 -

<?php 
    $vegetables[0] = "corn"; 
    $vegetables[1] = "broccoli"; 
    $vegetables[2] = "zucchini"; 
    $text = implode(",", $vegetables); 
    echo $text; 
?> 


<?php 
    $text = "corn, broccoli, zucchini"; 
    $vegetables = explode(", ", $text); 
    print_r($vegetables); 
?> 
0

配列をmysqlに保存するには、json_encode/json_decodeを使用します。使い方は簡単です。

コード次のように:

<?php 
    $dates = array(
     '2016-10-10', '2016-10-11' 
    ); 
    $json_dates = json_encode($dates); 
    $arr = json_decode($json_dates, true); 
?> 
0

をデータベースに配列を格納することはできませんが、代替ソリューションは、JSON文字列に配列を変換することです。

配列をjson &データベースに格納することができます。

$dates_in_json = json_encode($dates); 
//Insert query 
$insert = mysql_query("INSERT INTO table('dates') VALUES('".$dates_in_json ."')"); 

あなたはどこにでもこのデータを取得し、あなたがTRUE JSONをPHPオブジェクトに変換されます提供しない場合、配列に変換するためのTRUEこの

$dates_array = json_decode($dates_in_json, TRUE); 

ここでは二番目のパラメータのような配列に変換することができます。

関連する問題