2013-08-31 2 views
0

모두 이상한 문제가 있습니다. 데이터베이스에 표를 업데이트하려고 할 때 하나의 값만 가져오고 나머지는 모두 여기에있는 PHP 코드입니다PHP 업데이트 확인란을 사용하여 데이터베이스를 업데이트하지 않습니다.

foreach ($_POST['choice'] as $id){ 
    $price=$_POST['price'][$id]; 
    $availability=$_POST['availability'][$id]; 

    $result1=mysql_query("UPDATE store SET storeid='".$id."',availability='".$availability."', price='".$price."' WHERE productid='".$par1."'"); 
} 

예를 잘하고 내가 information.Here의 부족에 대한 깊이 죄송는

echo "<td><input type='text' id='availability[".$row->id ."]' name='availability[".$row->id ."]' value='".$row->diathesimotita ."' size='20'/></td>"; 
echo "<td><input type='text' id='price[".$row->id ."]' name='price[".$row->id ."]' value='".$row->price ."' size='10'/></td>"; 
echo "<td><input type='checkbox' id='choice[".$row->id ."]' name='choice[".$row->id ."]' value='".$row->id ."' /></td>"; 
echo"</tr>"; 

그래서 나는 동일에있는 텍스트 상자에 값을하려고뿐만 아니라 내 HTML 코드입니다 확인란을 사용하여 행을 검사하지만 처음 확인 된 ckeckbox 만 가져옵니다.

+0

당신의 HTML은 완전한 코드 없이는 문제를 찾을 수 없습니다. – Luceos

+3

'$ par1'은 루프에서 변경되지 않습니다. –

+0

'

'을 입력 해보십시오. 그러면 $ _POST 필드가 출력되어 데이터를 가져 오는 방법을 알아낼 수 있습니다. 나는 $ _POST에'가용성'등 여러 변수가있을 것이라고 생각한다. – ajtrichards

답변

0

체크 박스는 값을 확인할 때만 값을 게시합니다. 먼저 쿼리에서 사용하기 전에 값의 유효성을 검사하거나 값을 설정해야합니다. 예를 들어 귀하의 처리 코드의 상단에 이렇게 :

$checkbox_val = (!empty($_POST['choice']) ? 'Yes' : 'No'); //example only assuming non-array for 'choice' 

이로 값을 설정합니다 '아니오'는 POST 값이 항상 값을 가지고 있음을 보장 비어 있거나 설정되지 않은 경우.하지 값을 0/1, 참/거짓 등으로 변경할 수 있습니다.

또한 3 $ _POST 배열에 무엇이 있는지 보지 않고 $price에 대한 올바른 값을 얻었는지 여부를 알려주지 못합니다.

0

PHP 코드는 정상적으로 보입니다.

UPDATE store SET storeid='".$id."' , availability='".$availability."' , price='".$price."'  WHERE productid='".$par1."'"); 

스페이스 정말 문제 SQL에 : 우리는 SQL이 시도 어쨌든 HTML 코드를 볼 수 있지만 필요가있다. 그래도 작동하지 않으면 HTML 코드를 표시하십시오.

관련 문제