>데이터 베이스 >MySQL 튜토리얼 >여러 확인란 및 텍스트 상자 배열 데이터를 MySQL 데이터베이스에 효율적으로 삽입하는 방법은 무엇입니까?

여러 확인란 및 텍스트 상자 배열 데이터를 MySQL 데이터베이스에 효율적으로 삽입하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-28 06:37:171007검색

How to Efficiently Insert Multiple Checkbox and Textbox Array Data into a MySQL Database?

MySQL 데이터베이스에 여러 확인란 및 텍스트 상자 배열 삽입

MySQL 데이터베이스에 여러 확인란 및 텍스트 상자 배열을 삽입하는 것은 까다로운 작업일 수 있습니다. 체크박스가 선택된 경우에만 제출되는 경우 특히 그렇습니다. 이를 달성하는 방법에 대한 자세한 설명은 다음과 같습니다.

HTML 양식

각 확인란의 이름 속성에 명시적인 색인이 있는지 확인하세요.

<input tabindex="1" name="checkbox[0]" type="checkbox" value="17" />

또한 이름에 동일한 인덱스를 사용하여 텍스트 상자 배열이 확인란과 일치하는지 확인하세요. 속성.

PHP 스크립트

1. 체크박스 처리:

foreach를 사용하여 체크박스 배열을 반복하고 해당 인덱스로 각 값의 색인을 생성합니다.

foreach($_POST['checkbox'] as $i => $check) {
    $checkArray[$i] = $check;
}

2. 배열 결합:

체크박스 배열의 인덱스가 다른 배열과 정렬되지 않을 수 있으므로 수동으로 결합해야 합니다. 또 다른 foreach 루프를 사용하여 체크박스 배열을 반복하고 해당 값을 다른 배열의 해당 값과 결합합니다.

foreach($checkArray as $i => $check) {
    $itemArray[$i] = $_POST['item'][$i];
    $quantityArray[$i] = $_POST['quantity'][$i];
}

3. 데이터베이스에 삽입:

이제 배열을 올바르게 결합했으므로 데이터베이스에 삽입을 수행할 수 있습니다. SQL 주입을 방지하려면 바인딩_param과 함께 준비된 문을 사용하세요.

$stmt = $conn->prepare("INSERT INTO purchases (Product, Quantity, Price) VALUES (?, ?, ?)");
$stmt->bind_param("sis", $product, $quantity, $price);

foreach ($itemArray as $i => $product) {
    $quantity = $quantityArray[$i];
    $price = $_POST['price'][$i]; // Get the price from the HTML
    $stmt->execute();
}

추가 팁:

  • HTML에 가격을 하드 코딩하지 마세요. 대신 양식 처리 중에 데이터베이스에서 검색하세요.
  • 코드 전체에서 동일한 API(MySQLi 또는 PDO)를 사용하여 데이터베이스 연결이 열려 있는지 확인하세요.
  • execute()를 사용하여 준비된 실행 레거시 MySQL API의 일부인 mysql_query 대신 명령문을 사용하세요.

위 내용은 여러 확인란 및 텍스트 상자 배열 데이터를 MySQL 데이터베이스에 효율적으로 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.