まずはMySQLに慣れていると言います。配列と同じ順序でインデックス付き配列の値をMySQLテーブルに挿入する方法
私は製品属性のオプションのカスタムリストを作成するDrupalモジュールを構築しようとしています。私は降順で日付のインデックス配列を持っており、配列内の各日付値に対して、以下のクエリは、uc_attribute_optionsテーブルの 'name'フィールド(varchar)に格納されている属性オプションを作成することになっています。しかし、リストの出力や「name by」フィールド(「Sort by key:None」)を見ると、出力リストの日付の値は、myと同じ降順ではなくアルファベット順に表示されますアレイ。私は考えることができるすべての組み合わせを試しましたが、私はこれを「並べ替える」ようには見えません。
$aid = 1;
$i = 0;
$date_array = array (
"Thursday, August 25, 2011",
"Thursday, September 1, 2011",
"Thursday, September 8, 2011",
"Thursday, September 15, 2011",
"Thursday, September 22, 2011");
foreach ($date_array as $item) {
db_query("INSERT INTO {uc_attribute_options} (aid, name, cost, price,
weight, ordering) VALUES (%d, '%s', %f, %f, %f, %d)", $aid, $item, 0, 0, 0, 0);
...
}
出力:
Thursday, August 25, 2011
Thursday, September 1, 2011
Thursday, September 15, 2011
Thursday, September 22, 2011
Thursday, September 8, 2011
私が望むもの:
Thursday, August 25, 2011
Thursday, September 1, 2011
Thursday, September 8, 2011
Thursday, September 15, 2011
Thursday, September 22, 2011
はどうすれば配列に見られるような出力が同じ順に表示するように得ることができますか?
ありがとうございます。
2桁の日付を使用してみませんか?これらの値をMySQLから取得しているのであれば、それらの値をクエリで並べ替えて、MySQLに並べ替えをさせてください。 –
また、DBに実際の日付として日付を格納することもできます( 'DATE'列型を参照)。 – Casper
@DustinDavis - 私は最終的な手段としてこのアプローチを試みましたが、問題を回避する方法があります。だからこそ他の選択肢がなければ、それを行う方法の一つです。応答していただきありがとうございます。 – user897897