Comment afficher la valeur du tableau correspondant à son identifiant correspondant
P粉710478990
P粉710478990 2024-02-17 22:00:09
0
1
407

Donc, dans la requête ci-dessous, je joins deux tables par order_id et j'affiche toutes les valeurs de la table user_orders.

Sur la base de l'image ci-dessous, j'ai essayé d'afficher uniquement les lignes order_Id qui correspondent à la table order_manager.

        public function getUserOrder(){
            $sql = "SELECT user_orders.order_id, 
                            user_orders.title, user_orders.price, 
                            user_orders.quantity 
                    FROM order_manager 
                        JOIN user_orders ON order_manager.order_id = user_orders.order_id;";
                
            $stmt = $this->connect()->prepare($sql);
            $stmt->execute();
         
                    
            while ($result = $stmt->fetchAll()){
                return $result;
            }
        }

J'ai essayé d'utiliser une instruction if qui semble faire quelque chose mais la valeur qu'elle donne ne correspond pas à l'ID de l'ordre inverse.

<div class="container mt-5">
<?php $artworks = new Artworks(); ?>


    <div class="row">
        <div class="col-lg-12">
        <table class="table table-dark">
      <thead>
        <tr>
            <th scope="col">Order ID</th>
          <th scope="col">Full Name</th>
          <th scope="col">Phone</th>
          <th scope="col">Address</th>
          <th scope="col">Orders</th>
        </tr>
      </thead>
 

    
<?php
    $artworks->getOrder();
    foreach ($artworks->getOrder() as $art) {

        echo "<tbody>
                <tr>
                    <td>$art[order_id]</td>
                    <td> $art[full_name]</td>
                    <td> $art[phone] </td>
                    <td>$art[address]</td>
                  
                    <td>
                        <table class= 'tale text-center table-dark'>
                        <thead>
                            <tr>
                                <th scope='col'>Order ID</th>
                                <th scope='col'>title</th>
                                <th scope='col'>price</th>
                                <th scope='col'>Quantity</th>
                            </tr>
                        <thead>
                        <tbody>
                <tr>";
        $artworks->getUserOrder();
        foreach ($artworks->getUserOrder() as $order) {
            if ($order['order_id'] == $art['order_id']) {

                echo "<td>$order[order_id]</td>";
            }
            echo "
                  <td>$order[title]</td>
                  <td>$order[price]</td>
                  <td>$order[quantity]</td>
                  </tr>";
        }

        echo "
            </tbody>
            </table>
        </td>
    </tr>
    ";
}
?>
      </tbody>
    </table>
    </div>
 </div>
</div>

Voici une image pour aider à expliquer le résultat souhaité

P粉710478990
P粉710478990

répondre à tous(1)
P粉460377540

Correction d'un problème lié au déplacement des éléments td dans les instructions if. Je suppose que c'est fondamentalement correct.

$artworks->getUserOrder();

foreach($artworks->getUserOrder() as $order)
{
    if ($order['order_id'] == $art['order_id']) {
        echo "$order[order_id]";
        echo "
        $order[title]
        $order[price]
        $order[quantity]
        
        ";
    }
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal