我想通過使用複選框在登記表單期間,通過一個條目插入一個對象數組mySQL數據庫。插入複選框數組一次到MySQL查詢使用PHP
此時該條目僅顯示爲「數組」,並且數組中沒有條目。
我嘗試了一個for循環,但它將整個條目插入數據庫多次而不是複選框條目。
有關如何解決此問題的任何想法?
<table border="0" cellpadding="3" cellspacing="1">
<tr>
<form id="callAjaxForm">
<div data-role="fieldcontain">
<td width="150">Name:</td>
<td width="300"><input type="text" name="inputName" value="" /> </td>
</tr>
<tr>
<td width="150">Username:</td>
<td width="300"><input type="text" name="inputUsername" value="" /></td>
</tr>
<tr>
<td width="150">Password:</td>
<td width="300"><input type="password" name="inputPassword" value="" /></td>
</tr>
<tr>
<td width="150">Date of Birth:</td>
<td width="300"><input type="date" name="inputDOB" value="" /></td>
</tr>
<tr>
<td width="150">Core Competencies:</td>
<td width="300">
<input type="checkbox" name="coreComp[]" value="1" />Honesty<br />
<input type="checkbox" name="coreComp[]" value="2" />Loyalty<br />
<input type="checkbox" name="coreComp[]" value="3" />Trust<br />
<input type="checkbox" name="coreComp[]" value="4" />Empathy<br />
<input type="checkbox" name="coreComp[]" value="5" />Respect</td>
</tr>
<tr>
<td colspan="2">
<button data-theme="b" id="submit" type="submit">Submit</button>
</td>
</tr>
<tr>
<td colspan="2">
<h3 id="notification"></h3>
</td>
</tr>
</div>
</form>
</table>
PHP代碼
<?php
include 'includes/Connect.php';
$name = $_POST['inputName'];
$username = $_POST['inputUsername'];
$password = $_POST['inputPassword'];
$dob = $_POST['inputDOB'];
$aCC = $_POST['coreComp'];
$encrypt_password=md5($password);
if(empty($aCC))
{
echo("Please pick at least one");
}
else
{
mysql_query("INSERT INTO Profile (`Name`,`Username`,`Password`,`D.O.B`,`CC`) VALUES('$name','$username','$encrypt_password','$dob','$aCC')") or die(mysql_error());
mysql_close();
echo("You have successfully registered!");
}
?>
你的複選框coreComp是一個數組,所以是的,如果你嘗試直接插入,這是行不通的。你想如何爲每個選定的項目或全部插入一行? –
這是一個數組(至少當他們中的至少一個被選中時...)。你想如何存儲它,都在同一列?如果是這樣,你需要序列化數組或類似的,但這使得搜索痛苦。 – jeroen