2017-03-24 7 views
0

私は、使用できるすべての可能な部分を見つけるためにクエリの結果をループしながら構築する多次元配列を持っています。多値配列で最小の値を返し、インデックス番号を返す

$_SESSION['opt'][$Id] = array('rawStock'=>$materialStockID,'cost'=>$material_cost); 

コストが最も低い部分とその部品番号(行のすべてのデータを返します)を見つける必要があります。私は結果を得るために他の方法を使用することに反対していません。より簡単で効率的な方法がある場合。データはMySQLデータベースにあります。

+0

'SELECT stockID、コストFROMテーブルORDER BYコストLIMIT 1' – Barmar

+0

上記のステートメントと同じようにselectステートメントを使用してください – Ghost

答えて

1

あなたはこの単純なクエリでそれを得ることができます:あなたは別のクエリを行うにはしたくない場合は、クエリの結果をループしている間、あなたは最低価格を見つけることができます

SELECT stockID, cost FROM table ORDER BY cost LIMIT 1 

$lowest_price = 99999999; // make this larger than any possible price 
while ($row = fetch()) { 
    // all your other code that processes the row here 
    if ($material_cost < $lowest_price) { 
     $lowest_price = $material_cost; 
     $lowest_part = $materialStockID; 
    } 
} 
関連する問題