最好的办法
所以我有这些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_name
job_title
start_date
end_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()
功能,但我espicially THIK它不是最好的解决方案,它的情况很多错误的巨额数据。 所以我希望如果有更好的解决方案,在数据库中存储数组, 在此先感谢:)
你根本不应该。这不仅违反了关系数据库设计的First normal form,但当连接应该是“体验”实体的所有内容都是数组索引计数器时,您也可能成为对齐错误的受害者。
例如:如果不是所有的字段都是必填字段,空表单条目是否会创建一个空的数组值?这可能取决于提交表单的客户端(浏览器)。
在任何情况下,它的坏的数据库设计,您应该真正考虑模拟这种概念UserExperience或相似的,并将其连接许多-to-one的用户。
所以,你所提出的建议在数据库中的用户体验,以创建另一个表?没错。@YetiCGB –
没错。另请参阅[3NF](https://en.wikipedia.org/wiki/Third_normal_form)和关系数据库建模原则。 – YetiCGN
我认为这将是唯一的解决方案,我只是不想将多个表中的用户数据分开,因为用户体验不是我需要以这种方式存储的唯一数据,因此也存在教育!这个解决方案将有至少3个用户数据表@YetiCGN –
尝试将数据存储在数据库中的'json' formate中 –
这是怎么回事:) –
nosql:https://www.mongodb.com/ –