我有这张桌子:
foreach( //conditionals ){
<td id="changeStatus">
<input type="text" name="rcStatus" value=""/>
</td>
}
<td>
是空白的,当我点击每一个时,单元格的bgcolor会发生变化,而rcStatus
的值也会变化。
我使用此代码:
<script>
$('#table #changeStatus').click(
function(){
var cell = $(this);
state = cell.data('state') || 'first';
switch(state){
case 'first':
cell.addClass('red');
cell.data('state', 'second');
this.getElementsByTagName('input')[0].value = "missed";
break;
// other cases here
}
});
</script>
我现在的问题是我需要将rcStatus
的值存储在我的数据库中。
会发生什么是我只能存储最近设置的rcStatus
。
我正在使用PHP。
foreach( //conditionals ){
mysql_query("INSERT INTO `details`(ID, Name, Status) VALUES('NULL','$_POST[name]','$_POST[rcStatus]');");
}
即使我使用相同的名称/ ID,如何使用$_POST
调用每个变量?
答案 0 :(得分:0)
您可以在输入字段的名称后附加一个数字以标识每个输入字段,另请参阅Multiple inputs with same name through POST in php。
答案 1 :(得分:0)
你可以使用这个逻辑。
$i = 1;
foreach( //conditionals ){
<td id="changeStatus">
<input type="text" name="rcStatus<?php echo $i; ?>" value=""/>
</td>
$i++;
}
答案 2 :(得分:0)
将您的<tr>
更改为:
foreach( //conditionals ){
<td id="changeStatus">
// giving [] to a name attribute makes it an input array, like @Smutje mentioned
<input type="text" name="rcStatus[]" value=""/>
</td>
}
在你的PHP中:
foreach($_POST[rcStatus] as $key=>$val){
mysql_query("INSERT INTO `details`(ID, Name, Status) VALUES('NULL','$_POST[name]','$val');");
}
一些注意事项:
mysql_real_escape_string
来逃避$_POST
值