2012-01-04 3 views
0

PHPMaker를 사용하고 있습니다. "이 이벤트는 레코드를 업데이트 한 후에 호출됩니다. 이벤트의 인수는 이전 레코드와 새 레코드의 배열입니다. 참고 :이 코드는 코드를 사용하여 사용자 지정 작업을 수행 할 수 있습니다. 이 이벤트는 테이블 클래스 멤버입니다. " 내가 기록을 편집 할 때PHP 코드에 대한 간단한 sql 쿼리가 필요합니다.

// Row Updated event 
function Row_Updated($rsold, &$rsnew) { 
    //echo "Row Updated";  
} 

내가 이전 데이터가 역사적 목적으로 다른 테이블에 삽입 할 :

는이 이벤트를 편집 할 수있는 코드입니다. "역사적인"테이블에는 자동 증분되며 기본 키가 될 ID 필드와 동일한 필드가 있습니다. 그래서 나는 변화에 대한 완전한 역사를 가지고있을 것이다.

테이블 레이아웃은 다음과 같습니다.

(Information) 
ip (primary key), status, hostname, last_scanned, mac, ManualHost, Reservation 

그들은 레코드를 삽입하는 몇 가지 예제 코드를 가지고 있지만 난 더 전문가를 해요하고 $ rsold 배열에서 데이터를 얻을 수있는 MySQL의/PHP의 용어를 모른다.

// Insert record 
// NOTE: Modify your SQL here, replace the table name, field name and field values 
$sInsertSql = "INSERT INTO MyTable (Field1, Field2, Field3) VALUES (Value1, Value2, Value3)"; 
$GLOBALS["conn"]->Execute($sInsertSql); 

누군가 올바른 방향으로 도움을 요청할 수 있습니까?

답변

1

행을 반환한다고 가정하면 필드가 단순히 배열 인 것처럼 가져올 수 있습니다. 변수를 사용하고 대괄호 사이의 필드를 언급하면됩니다 (예 : $row['field']).

"모든 간격 및 마침표"에 관해서는 내 변수를 문자열과 분리하여 유지하기 위해이 작업을 수행합니다. 가능한 이유를 보여주는 좋은 (나쁜) 예는 다음과 같습니다.

$juice = "apple"; 
echo "He drank some $juice juice."; 

//Now imagine I want to write "He drank some juice made of apples 
echo "He drank some juice made of $juices."; 
//^^^ Is invalid. "s" is a valid character for a variable name, but the variable is $juice. 
//So it'd be better to 
echo "He drank some juice made of " . $juice . "s."; 
+0

간격 및 모든 기간 등은 무엇입니까? 나에게 재밌어 보인다 .... – AaronJAnderson

+0

그것은 쉽게 쿼리를 읽을 수 있습니다. 변수를 String 변수 안에 두지 않는 것이 좋습니다. 그리고 잘못 인용하는 것을 방지합니다. 이유를 보여주기 위해 내 대답이 업데이트되었습니다. – Jules

+0

완벽한 의미가 있습니다. 제대로 일을하는 것에 대한 존경심 :) – AaronJAnderson

관련 문제