2014-02-18 41 views
0

我有這個表:插入數據庫時​​,ID /名稱多次使用

foreach(//conditionals){ 
    <td id="changeStatus"> 
    <input type="text" name="rcStatus" value=""/> 
    </td> 
} 

<td> s爲空白,當我點擊每一個的小區改變的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]');"); 
} 

我如何可以調用使用$_POST即使我使用相同的名稱/ ID每個變量?

+0

所以,你在你的數據庫的意思是,你的'ID'和'Name'可以重複,但不同的'rcStatus'? –

+0

是的,rcStatus的值取決於單擊的單元格。 –

回答

0

你可以使用這個邏輯。

$i = 1; 
foreach(//conditionals){ 
    <td id="changeStatus"> 
    <input type="text" name="rcStatus<?php echo $i; ?>" value=""/> 
    </td> 
$i++; 
} 
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');"); 
} 

的幾個注意事項:

  1. 請遷移到mysqli_ 個功能mysql_棄用
  2. 你是開放的SQL Injection。從目前來看,直到你遷移,你可以使用mysql_real_escape_string逃脫$_POST
相關問題