我想访问"数量"列的一些值。
这是我的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;
}
}
?>
我希望这有所帮助。