私は次のHTMLフォームフィールドを持っています:
- 名前
- モバイル
- 住所
- Eメール
私はこのmysqlテーブルを持っています:
- record_id
- 記録
レコード フィールドに入力されたすべての html フォーム フィールドを保存し、それをさまざまなフィールドの html テーブルに取得したいと考えています。
| name | mobile | address | email |
を使用してこれを行うにはどうすればよいphp, mysql
ですか?
ありがとう!
私は次のHTMLフォームフィールドを持っています:
私はこのmysqlテーブルを持っています:
レコード フィールドに入力されたすべての html フォーム フィールドを保存し、それをさまざまなフィールドの html テーブルに取得したいと考えています。
| name | mobile | address | email |
を使用してこれを行うにはどうすればよいphp, mysql
ですか?
ありがとう!
複数のフィールドを単一の列に格納するためにphpシリアライゼーションメソッドを試すことができます。
たとえば、Post リクエストで、名前、携帯電話、住所、電子メールの $_POST データを受け取った場合、配列内の $_POST 値をキャプチャします
$records = $_POST;
$records = array('name'=>'abc', 'mobile'=>'9874325972398', 'address'=>'test',
'email'=>'test@test.com');
この配列をシリアライズする
`$records_serialize = serialize($records);` `//serialize the arrray to store into DB.`
結果の配列は
a:4:{s:4:"name";s:3:"abc";s:6:"mobile";s:13:"9874325972398";
s:7:"address";s:4:"test";s:5:"email";s:13:"test@test.com";}
上記のシリアル化された文字列を使用してデータベースに挿入します
DBに格納された値をアンシリアライズしてhtmlページで使用する
$records = unserialize($records_serialize);
//to parse desired field data from $_POST array
function preg_grep_keys( $pattern, $input, $flags = 0 )
{
$keys = preg_grep( $pattern, array_keys( $input ), $flags );
$vals = array();
foreach ( $keys as $key )
{
$vals[$key] = $input[$key];
}
return $vals;
}
Step 1) on form post get desired form fields you want to store in db
$record_data=preg_grep_keys('/name|mobile|address|email/',$_POST);
Step 2) convert to json string
$json_string=json_encode($record_data);
Step 3) Insert into db