如何使用 php 显示 MySQL 数据库中的小数和日期数组
How to display Decimal and Date Arrays from MySQL database using php
我很难在网页上显示价格和日期。
下面是我现有代码的一部分。 MYSQLI_ASSOC 部分显示正确的数据,但代码的 MYSQLI_NUM 部分根本不显示。我无法找到有关如何使其工作的信息。
<?php
$query = "SELECT ItemID, Name, Category, Price, Duration, Photo FROM
item ORDER by ItemID LIMIT 3";
$result = $mysqli->query($query);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_array(MYSQLI_ASSOC)) {
echo "<br> Row: ". $row["ItemID"]. " - Name: ". $row["Name"]. "<br> " . $row["Category"] . "<br>" ;
}
} else {
echo "0 results";
}
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_array(MYSQLI_NUM)) {
echo "<br> Price: ". $row["Price"]. " - Finish Time: ". $row["Duration"]. "<br> ";
}
} else {
echo "0 results";
}
?>
MYSQLI_NUM是某列的'ordinal position',从0开始到查询结果的第一列,1为下一列,2为下一个,以此类推。例如,如果 'Price' 列首先出现在查询结果中,它将是 $row[0]
,但在您的查询中,它当前位于 $row[3]
。否则,使用与列查询的正确位置对应的数字。
查看示例:http://php.net/manual/en/mysqli-result.fetch-row.php
另外,请注意,因为第一个循环在第二个循环之前循环了记录集,所以您需要重置列表以避免查询两次。
if ($result->num_rows > 0) {
// output data of each row
$result->data_seek(0); // set the recordset back to the first row.
while($row = $result->fetch_array(MYSQLI_NUM)) {
MYSQLI_BOTH,这是默认值,return 是一个数组,因此您可以按列名或按列号使用行结果。
======
知道许多人不喜欢使用列顺序编号,除非是非常小的查询,例如 return 单行,通常只有一列的查询,例如计数查询。原因是如果一个更大的查询改变了列排序,那么代码必须是 'scoured' 以确保更新查询的列位置编号 align/match 发生变化。
我很难在网页上显示价格和日期。
下面是我现有代码的一部分。 MYSQLI_ASSOC 部分显示正确的数据,但代码的 MYSQLI_NUM 部分根本不显示。我无法找到有关如何使其工作的信息。
<?php
$query = "SELECT ItemID, Name, Category, Price, Duration, Photo FROM
item ORDER by ItemID LIMIT 3";
$result = $mysqli->query($query);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_array(MYSQLI_ASSOC)) {
echo "<br> Row: ". $row["ItemID"]. " - Name: ". $row["Name"]. "<br> " . $row["Category"] . "<br>" ;
}
} else {
echo "0 results";
}
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_array(MYSQLI_NUM)) {
echo "<br> Price: ". $row["Price"]. " - Finish Time: ". $row["Duration"]. "<br> ";
}
} else {
echo "0 results";
}
?>
MYSQLI_NUM是某列的'ordinal position',从0开始到查询结果的第一列,1为下一列,2为下一个,以此类推。例如,如果 'Price' 列首先出现在查询结果中,它将是 $row[0]
,但在您的查询中,它当前位于 $row[3]
。否则,使用与列查询的正确位置对应的数字。
查看示例:http://php.net/manual/en/mysqli-result.fetch-row.php
另外,请注意,因为第一个循环在第二个循环之前循环了记录集,所以您需要重置列表以避免查询两次。
if ($result->num_rows > 0) {
// output data of each row
$result->data_seek(0); // set the recordset back to the first row.
while($row = $result->fetch_array(MYSQLI_NUM)) {
MYSQLI_BOTH,这是默认值,return 是一个数组,因此您可以按列名或按列号使用行结果。
======
知道许多人不喜欢使用列顺序编号,除非是非常小的查询,例如 return 单行,通常只有一列的查询,例如计数查询。原因是如果一个更大的查询改变了列排序,那么代码必须是 'scoured' 以确保更新查询的列位置编号 align/match 发生变化。