2012-10-21 2 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 injectionable입니다. 기억 [바비 테이블] (http://xkcd.com/327/) – Sklivvz

답변

-1

대부분의 브라우저는 확인란의 값을 보내지 않고 단어 "on" 만 보냅니다. PHP는 측면에서 다음

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

:이 문제를 얻으려면, 당신은 배열에 키로 "값"을 전달할 수 있습니다

$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에서 $ 자료 = $ _ GET [ 'ID']; $ sql = "INSERT INTO'pendientes' SELECT * FROM 클라이언트 WHERE'id' IN '$ id'"; $ conn = DataBase :: getInstance(); $ conn-> setQuery ($ sql); $ conn-> execute(); mysql_close ($ db); 삭제할 다른 버튼이 있지만 작동하지 않지만이 코드가 잘못된 것을 볼 수 있습니까? – Maru

+0

언제부터 "대부분의 브라우저"가 값을 보내지 않습니까? 응? –

관련 문제