【发布时间】:2016-08-15 12:02:18
【问题描述】:
所以我有这些 html 输入,我可以用 javascript 重新生成它们以允许用户输入他的经验历史记录,所以假设这段代码像这样生成了两次
<!-- User Experiense 1 -->
<label>Company Name</label>
<input type="text" class="form-control" name="company_name[]">
<label for="job-title">Job Title</label>
<input type="text" class="form-control" name="job_title[]">
<label for="dates">From</label>
<input type="date" class="form-control" name="start_date[]">
<label for="dates">To</label>
<input type="date" class="form-control" name="end_date[]">
<!-- User Experiense 2 -->
<label>Company Name</label>
<input type="text" class="form-control" name="company_name[]">
<label for="job-title">Job Title</label>
<input type="text" class="form-control" name="job_title[]">
<label for="dates">From</label>
<input type="date" class="form-control" name="start_date[]">
<label for="dates">To</label>
<input type="date" class="form-control" name="end_date[]">
这些是数据库中的列company_namejob_titlestart_dateend_date
这里是php代码
$js_company_name = [];
if(isset($_POST['js_company_name'])){
foreach($_POST['js_company_name'] as $selected) {
$js_company_name[] = $selected ;
}
}
$js_job_title = [];
if(isset($_POST['job_title'])){
foreach($_POST['job_title'] as $selected) {
$job_title[] = $selected;
}
}
$start_date= [];
if(isset($_POST['start_date'])){
foreach($_POST['start_date'] as $selected) {
$start_date[] = $selected;
}
}
$end_date= [];
if(isset($_POST['end_date'])){
foreach($_POST['end_date'] as $selected) {
$end_date[] = $selected;
}
}
我尝试使用 serialize() 和 unserialize() 函数,但我认为它不是最好的解决方案,它会出现很多错误,尤其是对于大数据。
所以我希望是否有更好的解决方案将数组存储在数据库中,
在此先感谢:)
【问题讨论】:
-
尝试在数据库中以
json格式存储数据 -
请问怎么样 :)
-
nosql: mongodb.com
-
依我的拙见,您应该将每个体验插入到不同的行中,将来您可以轻松地报告、搜索、收集或分组等
-
我认为
json_encode()与serialize()有同样的问题,感谢您的回答@NikhilVaghla
标签: php html sql arrays mysqli