PHP somo la 97: Jinsi ya kuchakata data zaidi kwa kutumia ORM

PHP somo la 97: Jinsi ya kuchakata data zaidi kwa kutumia ORM

Katika somo hili utakwenda kujifunz akuchakata data zaidi kw akutumia ORM kama ku join table

Hapa ni hatua za kuunda somo linalofuata kwa ajili ya kuongeza jedwali la transactions pamoja na faili la transactions.php ili kuonyesha orodha ya wateja na bidhaa walizonunua pamoja na bei zao.

Hatua 1: Kuingiza Jedwali la transactions kwenye Hifadhidata

Kwanza, tutahitaji kuunda jedwali jipya la transactions kwenye hifadhidata yako. Jedwali hili litakuwa na uhusiano (foreign keys) kwa jedwali la customers na products ili kurekodi bidhaa na wateja wanaohusiana.

CREATE TABLE transactions (
    id INT AUTO_INCREMENT PRIMARY KEY,
    customer INT NOT NULL,
    product INT NOT NULL,
    created TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (customer) REFERENCES customers(id),
    FOREIGN KEY (product) REFERENCES products(id)
);

Maelezo ya Fields:

Hatua 2: Kuunda Faili la transactions.php

Sasa tutaunda faili la transactions.php ambalo litachukua taarifa za wateja na bidhaa walizonunua pamoja na bei zao. Kwenye faili hili, tutachukua taarifa kutoka kwenye jedwali la transactions na kuonyesha orodha ya wateja na bidhaa walizonunua.

<?php
require_once 'dbclass.php';
require_once "model.php";

// Anza ORM kwa ajili ya transactions
$transactionORM = new Model('transactions');
$productORM = new Model('products');
$customerORM = new Model('customers');
$error = "";

// Pata transactions zote
$transactions = $transactionORM->all();

?>

<!DOCTYPE html>
<html lang="sw">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Orodha ya Miamala</title>
</head>
<body>

<h2>Orodha ya Miamala</h2>
<?php if (!empty($transactions)): ?>
    <table border="1">
        <tr>
            <th>ID ya Transaction</th>
            <th>Jina la Mteja</th>
            <th>Jina la Bidhaa</th>
            <th>Bei</th>
            <th>Tarehe</th>
        </tr>
        <?php foreach ($transactions as $transaction): ?>
            <?php
                // Pata mteja na bidhaa kwa kutumia IDs
                $customer = $customerORM->find($transaction['customer']);
                $product = $productORM->find($transaction['product']);
            ?>
            <tr>
                <td><?= htmlspecialchars($transaction['id']); ?></td>
                <td><?= htmlspecialchars($customer['name']); ?></td>
                <td><?= htmlspecialchars($product['name']); ?></td>
                <td><?= htmlspecialchars($product['price']); ?></td>
                <td><?= htmlspecialchars($transaction['created']); ?></td>
            </tr>
        <?php endforeach; ?>
    </table>
<?php else: ?>
    <p>Hakuna miamala iliyorekodiwa.</p>
<?php endif; ?>

</body>
</html>

Maelezo ya Code:

  1. ORM kwa Transactions, Customers, na Products: Tumetumia ORM kwa transactions, customers, na products ili tupate taarifa za wateja na bidhaa zinazohusiana na transaction.

  2. Pata Miamala: Tunachukua taarifa zote za miamala kutoka kwenye jedwali la transactions kwa kutumia $transactionORM->all().

  3. Pata Mteja na Bidhaa kwa ID: Kwa kila transaction, tunatumia IDs za mteja na bidhaa ili kupata majina yao kutoka kwenye jedwali la customers na products.

  4. Onyesha Orodha ya Miamala: Tunatengeneza meza ili kuonyesha ID ya Transaction, Jina la Mteja, Jina la Bidhaa, Bei ya Bidhaa, na Tarehe ya Transaction.

  5. Ujumbe wa Makosa: Ikiwa hakuna miamala iliyorekodiwa, itaonyesha ujumbe wa "Hakuna miamala iliyorekodiwa."

Hatua 3: Kuhakikisha Uhusiano Kati ya Jedwali la transactions, products, na customers

Hakikisha kuwa unatumia foreign keys ili kuunganisha jedwali la transactions na ya products na customers kwa kutumia IDs. Hii itahakikisha kuwa data ya miamala ni sahihi na ina uhusiano na bidhaa na wateja waliopo kwenye hifadhidata yako.

Hatua 4: Kuongeza Miamala

Katika sehemu ya kuongeza miamala, tunaweza kutoa fomu ya kuongeza miamala, ambapo mteja atachagua bidhaa na itarekodiwa kwenye jedwali la transactions.

<?php
// Kushughulikia fomu ya kuongeza transaction
if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST['action']) && $_POST['action'] === 'create') {
    $customer_id = $_POST['customer_id'];
    $product_id = $_POST['product_id'];

    if (!empty($customer_id) && !empty($product_id)) {
        $data = [
            'customer' => $customer_id,
            'product' => $product_id
        ];

        if ($transactionORM->create($data)) {
            header("Location: transactions.php");
            exit();
        } else {
            $error = "Imeshindikana kuongeza transaction.";
        }
    } else {
        $error = "Tafadhali chagua mteja na bidhaa.";
    }
}
">
...

Download App Yetu

Jifunze zaidi, na wasiliana nasi ukiwa na App yetu. Bofya link hapo chini kuweza kuipakua.

Download Now Bongoclass Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

Nzuri            Mbaya            Save
Author: Rajabu image Tarehe: 1970-01-01 03:33:45 Topic: PHP Main: ICT File: Download PDF Views 144

Share On:

Facebook WhatsApp
Sponsored links
👉1 Simulizi za Hadithi Audio    👉2 Kitau cha Fiqh    👉3 kitabu cha Simulizi    👉4 Sira ya Mtume Muhammad (s.a.w)    👉5 Kitabu cha Afya    👉6 Bongolite - Game zone - Play free game   

Post zinazofanana:

PHP somo la 102: Cron job
PHP somo la 102: Cron job

atika somo hli tutakwenda kujifunza kuhusu kitu kinachitwa cron job. ni moja ya teknolojia zinazotumika kufanya kazi zinazofanyika automatic

Soma Zaidi...
PHP BLOG - somo la 9: Jinsi ya ku edit poost
PHP BLOG - somo la 9: Jinsi ya ku edit poost

Katika somo hil utawenda kujifunza jinsi ya ku edit post kwenye databse

Soma Zaidi...
PHP somola 63: Jinsi ya ku connect database kwa kutumia PDO na faida zake
PHP somola 63: Jinsi ya ku connect database kwa kutumia PDO na faida zake

Katika soo hili utakwenda kujifunza umuhmu wa kutumia PDO kwenye PHP kwa ajili ya kutumia database.

Soma Zaidi...
PHP - somo la 5: Maana ya function na jinsi inavyotengenezwa kwa ktumia PHP
PHP - somo la 5: Maana ya function na jinsi inavyotengenezwa kwa ktumia PHP

Katika somo hili utakwenda kujifunza kuhusu function kwenye PHP na jinsi ya kuweza kuzitumia

Soma Zaidi...
PHP -somo la 33: Matumizi ya while loop kwenye PHP
PHP -somo la 33: Matumizi ya while loop kwenye PHP

Katika somo hili utajifunza jinsi ya kuandika while loop kwenye PHP

Soma Zaidi...
PHP - somo la 18: Jinsi ya kusoma data kutoka kwenye database kwa kutumia PHP
PHP - somo la 18: Jinsi ya kusoma data kutoka kwenye database kwa kutumia PHP

Katika somo hili utakwenda kujifunza jinsi ya kusoma data kutoka kwenye database kwa kutumia PHP.

Soma Zaidi...
PHP somo la 92:  Jinsi ya kuunganisha php na database ya sqlite
PHP somo la 92: Jinsi ya kuunganisha php na database ya sqlite

Katika somo hili utakwenda kujifunza jinsi ya kutumia database ya sqlite kwa kutumia PHP.

Soma Zaidi...
PHP somol  la 55: PHP Abstract Class na abstract method
PHP somol la 55: PHP Abstract Class na abstract method

Katika somo hili utakwenda kujifunza concept mpya ya abstract class na abstract method kwenye OOP.

Soma Zaidi...
PHP - somo la 21: Jinsi ya kutafuta kitu kwenye database kwa mutumia PHP
PHP - somo la 21: Jinsi ya kutafuta kitu kwenye database kwa mutumia PHP

Katika somo hili utakwenda kujifundisha jinsi ya kutafuta taarifa maalumu kwenye database kwa kutumia PHP

Soma Zaidi...
PHP - somo la 11: Jinsi ya kutuma tarifa zilizojazwa kwenye form
PHP - somo la 11: Jinsi ya kutuma tarifa zilizojazwa kwenye form

Katika somo hili utakwenda kujifunza jinsi ya kukusanya taarifa za watumiaji kwa kutumia html form.

Soma Zaidi...