0

mysql クエリのヘルプが必要です。同じ order_id を持つ複数の製品があり、すべての人に表示したいのですが、30 個の製品のうち 1 つの製品しか表示されません。

if (!$_GET['orderid']) {

   } 
else
{
    $order_id = ereg_replace("[^0-9]", "", $_GET['orderid']); // filter everything but numbers for security
}

$sqlCommand = "SELECT * FROM tabell_order_product WHERE order_id='$order_id'"; 
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 
while ($row = mysqli_fetch_array($query)) { 
    $product_id = $row["product_id"];

} 
mysqli_free_result($query); 
//---------------------------------------------------------------------------------
$sqlCommand = "SELECT * FROM tabell_product WHERE product_id='$product_id'"; 
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 
while ($row = mysqli_fetch_array($query)) { 
    $model = $row["model"];
    $location = $row["location"];
} 
mysqli_free_result($query); 
//---------------------------------------------------------------------------------

$sqlCommand = "SELECT * FROM tabell_product_description WHERE product_id='$product_id'"; 
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 
while ($row = mysqli_fetch_array($query)) { 
    $name = $row["name"];
} 
mysqli_free_result($query); 
$output .= '<tr>
    <td>' . $product_id . '</td>
    <td>' . $name . '</td>
    <td>' . $model . '</td>
    <td>' . $location . '</td>
  </tr>';?>
4

2 に答える 2

0
while ($row = mysqli_fetch_array($query)) { 
    $product_id = $row["product_id"];
} 
var_dump($product_id);

上記は、30 個の product_id の最後の product_id のみを取得します。このような配列にそれらをプッシュすることを意味していると思います。

while ($row = mysqli_fetch_array($query)) { 
    $product_id[] = $row["product_id"];
} 
var_dump($product_id);

次のコードにいくつかのエラーがあります。この方法で修正してみてください

于 2013-09-04T08:57:46.933 に答える