我想在php中显示mysql表的特定列的最大值。这是我的代码:
<?php
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());
$var = $_POST['value'];
$sql = mysql_query(" SELECT MAX(column) FROM tableName WHERE variable='$var' ") or die(mysql_error());
$row = mysql_fetch_array($sql) or die(mysql_error());
echo "Maximum value is :: ".$row['column'];
?>
输出:::
Maximum value is ::
答案 0 :(得分:3)
或者你可能有点创意:
$sql = mysql_query("SELECT `column` FROM tableName WHERE variable='$var' ORDER BY `column` DESC LIMIT 1") or die(mysql_error());
答案 1 :(得分:1)
这与我正在寻找解决方案的问题相同。以下方法奏效了。解决方案是使用“ MYSQLI_NUM ”。虽然下面的代码给出了预期的结果,但它看起来仍然太复杂。有没有办法使用“while”语句“快捷”来搜索数组,因为只有一个返回值?
选择最大值只返回一个数字,但PHP似乎仍然需要一个循环来评估整个数组。我期待一些简单的事情,例如:max_value = result(0)。
<?php
require_once 'login.php';
$conn = new mysqli($hn, $un, $pw, $db);
if ($conn->connect_error) die($conn->connect_error.' Sorry, could not connect to the database server');
$query = "SELECT MAX(IssueIDNUM) FROM tblIssueList";
$result =$conn->query($query);
if (!$result) die($conn->error);
while($row=mysqli_fetch_array($result, MYSQLI_NUM))
{
$maxresult=$row[0];
echo $maxresult;
}
$result->close();
$conn->close();
?>
通过进一步的实验,我还能够通过Jim H.调整代码来开发以下解决方案。虽然它有效但代码仍然看起来太复杂了。
// Solution #2
$result =$conn->query("SELECT MAX(IssueIDNUM) `max` FROM tblIssueList");
if (!$result) die($conn->error);
while($row=mysqli_fetch_array($result, MYSQLI_ASSOC))
{
echo $row['max'];
}
答案 2 :(得分:0)
列的真实姓名为MAX(column)
,请尝试:
print_r($row);
您可以这样做:
$sql = mysql_query(" SELECT MAX(column) AS `column` FROM tableName WHERE variable='$var' ") or die(mysql_error());
或者:
$row = mysql_fetch_row($sql) or die(mysql_error());
echo "Maximum value is :: ".$row[0];
答案 3 :(得分:0)
你有两个选择。按索引或按列名称。如果您确实想使用列名,请在查询中为该列添加别名。
$sql = mysql_query(" SELECT MAX(column) `max` FROM tableName WHERE variable='$var' ") or die(mysql_error());
然后你可以使用
$row['max'];
或
$row[0];
答案 4 :(得分:0)
您可能没有返回任何行。您应该尝试WHERE变量LIKE'%$ var%';
答案 5 :(得分:0)
$sql = mysql_query(" SELECT MAX(column) AS GIVE_A_NAME FROM tableName WHERE variable='$var' ") or die(mysql_error());
和
echo "Maximum value is :: ".$row['GIVE_A_NAME'];