>백엔드 개발 >PHP 문제 >PHP를 사용하여 두 테이블을 쿼리하고 병합하는 방법

PHP를 사용하여 두 테이블을 쿼리하고 병합하는 방법

PHPz
PHPz원래의
2023-04-11 09:14:30722검색

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

고객 테이블

다음으로, 이 두 테이블을 PHP를 사용하여 쿼리하고 하나의 테이블로 병합하여 데이터 작업을 수행하겠습니다. 샘플 코드는 다음과 같습니다. 위 코드에서 먼저 데이터베이스에 연결한 다음 주문 및 고객 테이블을 쿼리하고 결과를 $result 및 $result2 변수에 저장합니다. 다음으로 while 루프와 array_merge 함수를 사용하여 두 테이블을 병합합니다. 각 루프에서는 먼저 주문 테이블에서 특정 행의 customer_id를 가져온 다음 고객 테이블을 쿼리하여 해당 고객의 세부 정보를 가져옵니다. 마지막으로 두 배열을 병합하여 $merged_array 변수에 추가합니다. 마지막으로 foreach 루프를 사용하여 병합된 테이블을 HTML 테이블에 표시합니다. 요약: 웹 애플리케이션 개발에서는 여러 테이블의 데이터를 쿼리하는 것이 일반적인 요구 사항입니다. PHP를 사용하면 쉽게 두 테이블을 쿼리하고 병합할 수 있습니다. 위의 코드 예제에서는 데이터베이스에 연결하고, 각 테이블을 쿼리하고, 병합하여 이를 수행하는 방법을 보여줍니다.
customer_id customer_name customer_address customer_phone
1 Alice New York 123-456 - 7890
2 Bob 로스앤젤레스 456-78 9-0123
// 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>";

위 내용은 PHP를 사용하여 두 테이블을 쿼리하고 병합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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