2013-03-26 5 views
1

제 질문은 제가해야하는 것보다 제가해야 할 일 중 하나입니다.표의 여러 입력란 업데이트하기

많은 질문이있는 온라인 질문 사이트를 개발 중이며 따라서 각 질문마다 많은 답변을드립니다.

사람들은 특정 날짜까지 질문자에게 돌아가서 하나의 삽입과 많은 업데이트가 필요합니다.

일반적으로 테이블에서 데이터를 읽은 후 응답이 변경되었는지 확인하고 변경 사항을 업데이트하거나 questionairre에 표시된 테이블의 모든 데이터를 바꿉니다. 예를 들어 방문 중 라디오 버튼 1 대신 2를 선택하면 모든 필드를 업데이트해야합니다.

도움을 주셔서 감사합니다.

저스틴

답변

0

아니요, 한 번에 하나의 열 (필드)을 업데이트 할 수 있습니다. 예를 들어

$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass); 

$sql = "UPDATE survey_22 SET question_43=? WHERE user_id=?"; 

$stmt = $dbh->prepare($sql); 
$stmt->execute(array($new_answer, $user_id)); 
+0

고마워요.하지만 업데이트해야하는 필드를 식별해야합니다. 어떤 필드를 식별하여 모든 필드를 업데이트 할 수 있습니까? –

+0

@JustinOakley 레코드 (행) 또는 레코드의 일부 (열)로 "필드"를 의미합니까? – Voitcus

+0

아, 네가 무슨 말하는지 알 겠어. 대부분의 (심지어 모든 것) 변경되지 않았더라도 모든 컬럼을 한 번에 업데이트해도 무방하다고는 말할 수 있습니다. 즉 단순히 데이터를 "충돌"시키는 것보다 모든 필드에서 변경을 확인하는 것이 더 비효율적입니다. 점검이 필요한 유일한 경우는 변경 사항이없는 경우 행의 시간 소인을 갱신하지 않으려는 경우입니다.이 경우, 모든 필드를 점검해야합니다. 감사합니다 acheong87. –

0

과 같은 PDO 준비 문 사용 내 생각에 모든 필드를 업데이트 할 수 있으므로 시간이 오래 걸립니다. 업데이트하지 않아도되는 필드를 업데이트하지 않을 경우 저장해야 할 사항을 결정할 때 느슨해집니다.

물론 일부 벤치 마크는 소수지만, 개인적으로 나는 모든 것을 업데이트 할 것이고 그것은 내가 항상하는 것입니다. "게으름"이라고 명명 할 수 있지만 코드가 더 간단하다는 장점이 있습니다.

+0

감사합니다. 나는 그렇게 생각했지만 다른 사람들이 어떻게 일을하는지 알게되어서 좋았습니다. 저스틴 –

관련 문제