Also verbinde ich in der folgenden Abfrage zwei Tabellen nach order_id und zeige alle Werte aus der Tabelle user_orders an.
Basierend auf dem Bild unten habe ich versucht, nur die order_Id-Zeilen anzuzeigen, die mit der order_manager-Tabelle übereinstimmen.
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; } }
Ich habe versucht, eine if-Anweisung zu verwenden, die scheinbar etwas bewirkt, aber der angegebene Wert stimmt nicht mit der ID der umgekehrten Reihenfolge überein.
<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>
Hier ist ein Bild, das die gewünschte Ausgabe erklärt
解决了将 td 项目移动到 if 语句中的问题。我猜这基本上是正确的。