我有一个查询,它在表中查找给定名称的最大值并返回该数字。它在SQL控制台中工作得很好。但是,我试图获取该值,然后在HTML表中创建单选按钮,尽管有数据,但它是一个空集。它总是只有一个值,因此不需要数组。表中可以有多个同名条目,但不是同样的网。
$sqltankonly = "SELECT * FROM HoldingUnit WHERE tankfacility = 'test' AND net = '0' ORDER BY name"; // Select Holding Units that are not nets
$resulttankonly = $conn->query($sqltankonly); // Select Holding Units that are not nets unless they have something in them
if ($resulttankonly->num_rows > 0) {
// Setup Table
echo '<table><tr><th>Destination Tank</th><th>Net</th></tr>';
while($row = $resulttankonly->fetch_assoc()) {
echo '<tr><td><input type="radio" name="dtank" " value="' . $row["name"] . '" required>' . $row["name"] . '</td>';
echo '<td>';
// Below is my problem *******************
$sqlnetcapacity = 'SELECT MAX(net) FROM HoldingUnit WHERE name="' . $row["name"] . '"';
$resultnetcapacity = $conn->query($sqlnetcapacity);
$netcapacity = $conn->query('SELECT MAX(net) FROM HoldingUnit WHERE name="Test-01"')->fetch_object()->net;
while($netcapacity > 0) {
echo '<input type="radio" name="net" value="' . $netcapacity . '" />' . $netcapacity . ';
$netcapacity = $netcapacity - 1;
}
}
echo '</td></tr></table>';
我试着把$resultnetcapacity当作一个数组,用while循环代替fetch_object()。我试着只打印值,即使if语句证明有多于0个值,也没有显示。
2条答案
按热度按时间o7jaxewo1#
结果中没有
net
列;您选择的列名为MAX(net)
。您应该为MAX(net)
的值指定别名。也不需要在循环中执行这些查询,可以将原始查询与
MAX()
查询连接起来。然后使用
$netcapacity = $row['net_capacity']
uyto3xhc2#
感谢您的帮助,为我指明了正确的方向。下面的查询给了我所需要的结果...
这是我的结果
谢谢。当我在那些坦克上添加更多的坦克和更多的网时,这似乎对我的要求起作用。