1

私はこれで噛むことができる以上に噛んだかもしれませんが、うまくいけば皆さんが助けてくれます. これが話です。

サイトにインストールしたカレンダー モジュールを介して、ユーザーが生成した .txt ファイルを 1 日を通して定期的に更新しています。カレンダーで予約されている日付を除外するには、そのデータの一部にアクセスできる必要があります。まず、カレンダー .txt ファイルの構文を次に示します。読みやすくするために、データの各セグメントをそれぞれの行に配置します。

2012-11-08;;1;;0,
2012-11-09;;1;;0,
2012-11-10;;1;;0,
2012-11-13;;2;;0,
2012-11-14;;2;;0,
2012-12-05;;1;;150,
2012-12-06;;1;;150

ただし、ここで複雑になります。これは、小さな PHP スクリプトを使用して CMS に簡単にインポートできます。ただし、上記のフィードから特定のデータのみが必要であり、現在出力されているものとは少し異なる形式で整理する必要があります。別のカレンダーで jquery 日付ピッカーを使用して、ゲストに空室状況を表示しています。JS スクリプトがあります。この形式を使用して日付をブロックします。

var disabledDays = [
    "11-21-2012",
    "12-17-2012",
    "12-02-2012",
    "01-03-2013",
    "01-04-2013",
    "01-05-2013"
];

日付の後に「2」または「0」がある .txt ファイル内の項目は、それぞれ「予約済み」または「利用不可」の日付であり、上記の JS フィードに含める必要があります。すなわち; 2012-11-13;;2;;0,

上記の 0 または 150 であった .txt ファイルの最後の数字は、価格であり、JS カレンダーには関係ないため、完全に破棄できます。最後に、.txt ファイルの日付の順序は、.JS ファイル (PHP を使用して作成します) で必要な順序とは少し異なります。

上記のすべてがPHPを使用して可能であると確信していますが、これを機能させようとして円で実行しています。誰にもアイデアはありますか?

4

1 に答える 1

1

日付形式とテキストファイルのデータへのアクセスに問題があることを正しく理解していれば、いつでも爆発関数を使用して要素を正しく分離できます。その後、次のような要素を反復処理する必要があります。

$string = '2012-11-08;;1;;0,
2012-11-09;;1;;0,
2012-11-10;;1;;0,
2012-11-13;;2;;0,
2012-11-14;;2;;0,
2012-12-05;;1;;150,
2012-12-06;;1;;150';

$element = explode(",", $string);
$array = array();
foreach($element as $row){
    array_push($array, explode(";", $row));
}

foreach($array as $date){
    $newdate = new DateTime($date[0]);
    $newdate = $newdate->format('m-d-Y');
    echo $newdate;
    if($date[2] == 2)
        //Do your processing
       echo "Book";

}

おそらく、より良い解決策があり、より高速です.phpでそれを行う方法を指摘しようとしています.

于 2012-11-06T20:20:06.443 に答える