我正在尝试多年但却无法使其发挥作用。
到目前为止,这是完美的
<?
if ($_POST['newhour_start']!=""&&$_POST['newhour_end']!="")
{
$inserthour = mysql_query("INSERT INTO hour
(hour_start,hour_end,hour_day) VALUES
('".$_POST['newhour_start']."','".$_POST['newhour_end']."','".$_POST['newhour_day']."')");
}
?>
<td colspan="5">
Start:<input name="newhour_start" type="text" id="newhour_start" >
End: <input name="newhour_end" type="text" id="newhour_end" >
<input name="newhour_day" type="hidden" id="newhour_day" value="Monday" >
</td>
我的问题是如何在此代码中添加另外5组开始和结束输入?
我知道我可以添加另一个输入名称,if语句并更改其名称,但我想学习正确的方法。
答案 0 :(得分:2)
您使用数组。
那么如何使用数组呢?在HTML中,您需要:
Start #1:<input name="newhour_start[]" type="text" />
End #1: <input name="newhour_end[]" type="text" />
Start #2:<input name="newhour_start[]" type="text" />
End #2: <input name="newhour_end[]" type="text" />
Start #3:<input name="newhour_start[]" type="text" />
End #3: <input name="newhour_end[]" type="text" />
在PHP中你需要这个:
if(isset($_POST['newhour_start']) && isset($_POST['newhour_end']))
{
foreach($_POST['newhour_start'] as $index => $start)
{
$hour_start = $start; // now this is the fun part - you CLEAN this string to avoid SQL injection
$hour_end = $_POST['newhour_end'][$index]; // clean this one too
$insert[] = "('$hour_start', '$hour_end')";
}
$query = "INSERT INTO table (first_column, secon_column) VALUES ". implode(',', $insert);
}
在这个例子中我没有使用你的表结构,但我认为这很简单,你可以学习和修改它。
答案 1 :(得分:0)
不要在数据库中插入值而不转义它们!
这样做的正确方法是: