Bagaimanakah saya boleh menyambung ke jadual dan memaparkan kandungannya? (MySQL dan PHP)
P粉738821035
P粉738821035 2024-04-03 09:55:31
0
1
358

Saya mempunyai dua jadual mysql (produk dan kategori). Saya mempunyai beberapa data olok-olok dalam kedua-dua jadual. Sekarang saya perlu melampirkan kategori pada produk entah bagaimana. Sebagai contoh - produk dengan ID 1 harus mengembalikan yang berikut:

| product name | category   |
| Monitor      | Technology |

Saya tahu saya pernah melakukan ini sebelum ini, tetapi hari ini saya nampaknya tidak dapat mencari penyelesaian.

Edit Inilah yang saya ada setakat ini. Sambungan berfungsi dengan baik dan saya boleh memaparkan data dalam jadual.

<?php
// Include database connection
include("connection.php");

// Create variables for later use
$db = $conn;
$tableName = "Produkte";
$columns= ['id_product', 'name_product'];

// Create variable to use in index.php
$fetchData = fetch_data($db, $tableName, $columns);

// The function below feteches data from the tables specified and checks if the colums are emtpy by any chance.
function fetch_data($db, $tableName, $columns) {
    // Check db connection
    if (empty($db)) {
        $message= "Database connection error";
    }
    // Check if the columns variable is empty and not an array by any chance
    elseif (empty($columns) || !is_array($columns)) {
        $message="Product Name must be defined in an indexed array";
    }
    // Check if table name is empty
    elseif (empty($tableName)) {
        $message= "Table Name is empty";
    }
    // Else proceed as usual.
    else {
        $columnName = implode(", ", $columns);
        // The query needs to be repalced. Today my SQL stuff is leaving me a bit.
        $query = "SELECT p.".$columnName." AS product, c.name_category FROM $tableName p JOIN Kategorie c ON c.id_";
        $result = $db->query($query);
        if ($result== true) {
            if ($result->num_rows > 0) {
                $row= mysqli_fetch_all($result, MYSQLI_ASSOC);
                $message= $row;
            }
            else {
                $message= "No Data Found";
            }
        }
        // Throw error if error occures
        else{
            $message= mysqli_error($db);
        }
    }
    return $message;
}

Jadual products 只有 2 列。 id 列和 product_name lajur.

P粉738821035
P粉738821035

membalas semua(1)
P粉014293738

Teknik asas berbeza-beza:

// create DBquery using JOIN statement 
$query = "
SELECT 
    p.name AS product, c.name AS category 
FROM products p
JOIN categories c ON c.id = p.category_id;";

// get DB data using PDO
$stmt = $pdo->prepare($query);
$stmt->execute();

// show table header
printf('| product name | category   |' . PHP_EOL);

// loop for output result as table rows
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    printf('| %-12s | %10s |' . PHP_EOL, $row['product'], $row['category']);
}

Cuba dalam talian

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!