2012-10-21 129 views
0

我有記錄的網格,他們有一個複選框<input name="id[]" value="<?php echo $valor->id ?>" type="checkbox" class="check" />,我想選擇的記錄複製到另一臺如何在mysql中將數據從一個表插入到另一個表中?

$sql = "INSERT INTO `pendientes` SELECT * FROM clientes WHERE id = $idcopia"; 
mysql_query($sql); 

,但我不知道如何發送的ID,我的想法是選擇複選框和一個按鈕「複製」發送ID,但也許有另一種方式。

+0

你有與PHP,SQL問題或都?你的問題不是很明顯。 –

+0

注意:您的代碼是SQL注入式的。記住[Bobby Tables](http://xkcd.com/327/) – Sklivvz

回答

-1

大多數瀏覽器不發送複選框的值,只是字"on"。爲了解決這個問題,你可以通過「價值」作爲關鍵陣列:

<input type="checkbox" name="id[<?php echo $valor->id; ?>]" class="check" /> 

然後在PHP端:

$idlist = implode(",",array_map("intval",array_keys($_POST['id']))); 
$sql = "INSERT INTO `pendientes` SELECT * FROM `clientes` WHERE `id` IN (".$idlist.")"; 
mysql_query($sql); 
+0

感謝您的回答! 我創建了一個按鈕 copy ,然後在PHP $ ID = $ _ GET [ 'ID']; $ sql =「INSERT INTO'pendientes' SELECT * FROM clientes WHERE'id' IN'$ id'」; $ conn = DataBase :: getInstance(); $ conn-> setQuery($ sql); $ conn-> execute(); mysql_close($ db); 我有另一個按鈕來刪除,它的工作,但不是與此,你可以看到代碼中的錯誤? – Maru

+0

從什麼時候開始「大多數瀏覽器」不發送數值?咦? –

相關問題