複数の名前付きキーがあり、それぞれに 0 ~ 5 の値が割り当てられます。
値 > 0 が割り当てられたキーのみを保持する配列と配列フィルターを作成しました。配列から 0 の値のペアを削除します。
必要なのは、キー名と割り当てられた値を同じテーブルに別々のフィールドとして挿入する方法です。
列名は、skill_name と value です。
送信後の配列:
Array ( [Academics] => 2 [Animal_Ken] => 3 [Athletics] => 2 [Awareness] => 0 [Blood_Sense] => 0 [Brawl] => 0 [Craft] => 0 [Dodge] => 0 [Empathy] => 0 [Enigma] => 0 [Etiquette] => 0 [Expression] => 0 [Finance] => 0 [Firearms] => 0 [Intimidation] => 0 [Investigation] => 0 [Larceny] => 0 [Law] => 0 [Leadership] => 0 [Linguistics] => 0 [Malkavian_Time] => 0 [Medicine] => 0 [Melee] => 0 [Occult] => 0 [Performance] => 0 [Politics] => 0 [Science] => 0 [Scrounge] => 0 [Security] => 0 [Stealth] => 0 [Streetwise] => 0 [Subterfuge] => 0 [Survival] => 0 [submit_skills] => Add Skills )
フィルター後の配列:
Array ( [Academics] => 2 [Animal_Ken] => 3 [Athletics] => 2 )
ここで、配列インデックスごとに、skill_name = key, value = value に挿入する必要があります。
何か案は?
編集
アドバイスを受けた後、すべてが正しく機能しているようです。
現在、名前にスペースが含まれるキーにはデフォルトでアンダースコアが付けられるという問題があります。
例: Animal Ken --> Animal_Ken .. そのため、データベースは挿入を拒否しています。
アンダースコアを取り除き、再びスペースとして残す方法はありますか?