PHP는 웹 개발에 널리 사용되는 프로그래밍 언어입니다. 웹 애플리케이션을 개발할 때 일반적으로 데이터를 얻고 저장하기 위해 데이터베이스에 연결해야 하며, 여러 테이블에서 데이터를 쿼리하는 것은 매우 일반적인 요구 사항입니다. 이 기사에서는 PHP를 사용하여 두 테이블을 쿼리하고 병합하는 방법을 설명합니다.
먼저 두 개의 테이블을 만들고 테이블에 일부 데이터를 삽입해야 합니다. 한 테이블의 이름이 "orders"이고 다른 테이블의 이름이 "customers"라고 가정합니다. 주문 테이블에는 주문 번호, 주문 날짜, 주문 고객 등의 주문 데이터가 포함됩니다. 고객 테이블은 고객 이름, 고객 주소, 고객 전화번호 등을 포함한 고객 데이터입니다. 이 두 테이블을 쿼리하는 방법을 보여주기 위해 다음 테이블 구조를 만듭니다.
orders table
order_id | order_date | customer_id |
---|---|---|
1 | 2021-01-01 | 1 |
2 | 2021-01-02 | 2 |
3 | 2021-01-03 | 1 |
4 | 2021-01-04 | 3 |
고객 테이블
customer_id | customer_name | customer_address | customer_phone |
---|---|---|---|
1 | Alice | New York | 123-456 - 7890 |
2 | Bob | 로스앤젤레스 | 456-78 9-0123 |
다음으로, 이 두 테이블을 PHP를 사용하여 쿼리하고 하나의 테이블로 병합하여 데이터 작업을 수행하겠습니다. 샘플 코드는 다음과 같습니다. | // Connect to database $host = "localhost"; $user = "username"; $password = "password"; $database = "database"; $connect = mysqli_connect($host, $user, $password, $database); // Query orders table $query = "SELECT * FROM orders"; $result = mysqli_query($connect, $query); // Query customers table $query = "SELECT * FROM customers"; $result2 = mysqli_query($connect, $query); // Merge two tables $merged_array = array(); while ($row = mysqli_fetch_assoc($result)) { $customer_id = $row['customer_id']; $customer_query = "SELECT * FROM customers WHERE customer_id = $customer_id"; $customer_result = mysqli_query($connect, $customer_query); $customer_row = mysqli_fetch_assoc($customer_result); $merged_array[] = array_merge($row, $customer_row); } // Show merged table echo "<table>"; echo "<tr><th>Order ID</th><th>Order Date</th><th>Customer Name</th><th>Customer Address</th><th>Customer Phone</th></tr>"; foreach ($merged_array as $row) { echo "<tr>"; echo "<td>" . $row['order_id'] . "</td>"; echo "<td>" . $row['order_date'] . "</td>"; echo "<td>" . $row['customer_name'] . "</td>"; echo "<td>" . $row['customer_address'] . "</td>"; echo "<td>" . $row['customer_phone'] . "</td>"; echo "</tr>"; } echo "</table>"; | 위 코드에서 먼저 데이터베이스에 연결한 다음 주문 및 고객 테이블을 쿼리하고 결과를 $result 및 $result2 변수에 저장합니다. 다음으로 while 루프와 array_merge 함수를 사용하여 두 테이블을 병합합니다. 각 루프에서는 먼저 주문 테이블에서 특정 행의 customer_id를 가져온 다음 고객 테이블을 쿼리하여 해당 고객의 세부 정보를 가져옵니다. 마지막으로 두 배열을 병합하여 $merged_array 변수에 추가합니다. 마지막으로 foreach 루프를 사용하여 병합된 테이블을 HTML 테이블에 표시합니다. 요약: 웹 애플리케이션 개발에서는 여러 테이블의 데이터를 쿼리하는 것이 일반적인 요구 사항입니다. PHP를 사용하면 쉽게 두 테이블을 쿼리하고 병합할 수 있습니다. 위의 코드 예제에서는 데이터베이스에 연결하고, 각 테이블을 쿼리하고, 병합하여 이를 수행하는 방법을 보여줍니다. |
위 내용은 PHP를 사용하여 두 테이블을 쿼리하고 병합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!