2017-05-22 6 views
0

phpを使用して最高値と最低値を表示したい。しかし、それは最大値を示しています。 それはのように見えますpicturephpが最低値を示さない

私のPHPコードはこちらです。

<?php 
$con = mysql_connect("localhost","root","")or die(mysql_error()); 
$db = mysql_select_db("simple",$con) or die(mysql_error()); 

$sql="SELECT* FROM simple_tb "; 

$query=mysql_query($sql) or die (mysql_error()); 
while ($row=mysql_fetch_array($query)) 
     $id = array($row['id']); 
     $id = array_filter($id); 
     $min = min($id); 
     $max = max($id); 

{ 
echo "Max Value: ".$max."<br> Min Value : ".$min; 
} 
?> 

Table

+0

データを含む表を投稿できますか? –

+0

1要素( '$ id')を持つ配列に対して' min() 'と' max() 'を呼び出しています。 – ShiraNai7

+0

このコードの構造は私にとって非常に奇妙です。問題の原因はこのコードの疑いがあります。実際にループ本体は何ですか? * $ id = array($ row ['id']); 'という行は実際にはループのように見えます。また、ループの繰り返しごとに新しい配列を作成するので、その中に要素が1つしかありません。 – David

答えて

2

あなたはそれにminmaxを呼び出して、あなたのarrayを構築する必要があります。最も簡単な方法はをwhileの前にインスタンス化し、[]の構文を使用して、以下に示すようにarrayに要素を追加することです。また、括弧はarraysをインスタンス化するためのより良い方法であり、その後は古いarray()バージョンです。

$ids = []; 

while ($row = mysql_fetch_array($query)) 
     $ids[] = $row['id']; 

$min = min($ids); 
$max = max($ids); 
+3

または 'SELECT MAX(id)、MIN(id)FROM simple_tb' – ShiraNai7

+0

はい、問題のスコープにはありますが、sqlで解決するよりも適切な配列管理を学ぶ方が良いでしょう。好ましくは、実際のシナリオでは、SQLソリューションが常に選択されるべきである。 –

+0

質問を解決した場合は、答えを正しいものとして受け入れてください:) –

関連する問題