2012-03-29 3 views
1

시작하기 전에 몇 가지 조언이 필요합니다. 나의 PHP 기술은 3 개월 밖에 안되어서 내가 배우는대로 배웁니다.PHP 주문 포털

정보를 데이터베이스에 캡처하는 주문 캡처 화면을 만들어야합니다.

주문 양식에는 모두 캡처해야하는 최대 150 줄까지 포함될 수 있습니다.

쉽게 양식을 작성할 수 있지만 데이터베이스에 작성하는 가장 좋은 방법은 무엇인지 궁금합니다. 제출에 대한

, 나는 포스트 방법을 사용하여 양식 값을 얻을 사용하여 MySQL로를 작성할 수 있습니다

INSERT INTO example 
    (example_id, name, value, other_value) 
VALUES 
    (100, 'Name 1', 'Value 1', 'Other 1'), 
    (101, 'Name 2', 'Value 2', 'Other 2'), 
    (102, 'Name 3', 'Value 3', 'Other 3'), 
    (103, 'Name 4', 'Value 4', 'Other 4'); 

가이 일을 더 효율적으로 방법이 아니면 내가 150에 대한 코드를 반복해야 할 윤곽?

답변

1

유용성의 관점에서 양식의 디자인을 재고해야 할 수 있습니다. 사용자가 주문 양식의 149 행을 채우고 우연히 뒤로 버튼을 누르는 경우, 그들은 정말로 나쁜 날을 보낼 것입니다. 아마도 한 번에 한 줄을 캡처하거나 사용자가 모든 항목을 포함하는 파일 (스프레드 시트, CSV 등)을 업로드 할 수 있도록해야합니다.

양식 디자인을 변경할 수없는 경우 회선을 처리해야합니다. 루프는 다음과 같이 보일 수 있습니다

for ($i = 1; $i <=150; $i++) { 
    $name = $_POST['name' . $i]; 
    $value = $_POST['value1' . $i]; 
    // capture the rest of the field values 
    $query = "INSERT INTO (...) VALUES ($name, $value, ...)"; 
    mysql_query($query); 
} 

다른 방법으로, 하나 개의 큰 쿼리에 대한 각 루프의 결과를 추가, 모두 150 개 행을 캡처 한 후 실행할 수 있습니다. 간결성을 위해

, 당신이 추가해야 할 몇 가지 세부 사항 탈락 한 :
  • PDO를 사용하는 것을 고려

      은 사용자가 데이터베이스 손상하지 않도록하기 위해 입력을 탈출
    • 또는 mysql_ * 이외의 것을 사용하여 데이터베이스 사용을 더 쉽게 만들 수 있습니다.
    • 행을 비워두면 빈 값을 캡처하고 삽입하지 않도록하십시오.