php:如何使用“mysqli_fetch_assoc()”访问数据库表列的多个值


php: How to access the multiple values of a column of database table using 'mysqli_fetch_assoc()'?

我想访问"数量"列的一些值。

这是我的php代码的一部分。

$quantity_arr = array();
$id_arr = array();
while($row = mysqli_fetch_assoc($query_run)){
  $quantity_arr[] = $row['quantity'];
  $id_arr[] = $row['book_id'];
}
// when one of the edition is not available
if($quantity_arr[0] == 0 || $quantity_arr[1] == 0){ // checking if the quantity is 0.
  if($quantity_arr[0] == 0){
    $quantity =  $quantity_arr[1];
    $id = $id_arr[1];
  } elseif ($quantity_arr[1] == 0){
    $quantity =  $quantity_arr[0];
    $id = $id_arr[0];
  } else {
    echo "Book not available";
    exit;
  }

我正在使用$quantity_arr[0]$quantity_arr[1]来访问两个不同的值,但它不起作用。 正确的方法是什么?

如果我理解正确,您可以像这样访问数据。

<?php
$sql    = "SELECT *, CASE WHEN quantity > 0 THEN true ELSE false END as available from test_table ORDER by quantity DESC";
$query_run = mysqli_query($con,$sql);
while($row = mysqli_fetch_assoc($query_run)){
    if($row['available']){
        echo $row['book_id'].' - '.$row['quantity'] . '<br />';
    }else{
        echo $row['book_id']." - Book not available".'<br />';
    }
}
?>

<?php
$sql    = "SELECT * from test_table ORDER by quantity DESC";
$query_run = mysqli_query($con,$sql);
while($row = mysqli_fetch_assoc($query_run)){
    if($row['quantity'] > 0){
        echo $row['book_id'].' - '.$row['quantity'] . '<br />';
    }else{
        echo $row['book_id']." - Book not available".'<br />';
    }
}
?>

<?php
$sql    = "SELECT * from test_table ORDER by quantity DESC";
$query_run = mysqli_query($con,$sql);
$items = array();
while($row = mysqli_fetch_assoc($query_run)){
    $items[] = array('book_id'=> $row['book_id'], 'quantity' => $row['quantity']);
}
//// some codes etc..
foreach($items as $item){
    if($item['quantity'] > 0) { // checking if the quantity is NOT 0.
        echo $item['book_id'].' - '.$item['quantity'] . '<br />';
    } else {
        echo $row['book_id']." - Book not available".'<br />';
        //exit;
    }
}
?>

我希望这有所帮助。