2012-04-03 8 views
1

私はPHPを初めて使い、この回答のために何週間も検索していません。これは私がこれまでに投稿した第2回目のフォーラムに過ぎず、今回は初めてです。どうかください...これは私を夢中にしています。ORDER BYの行のmysql配列からPHPのフォームで入力した数字から日付を引いた

サイトは株式ブローカーサイトのようです。私はユーザーが価格と価値の値を入力するフォームページを持っています。

<form action='sellconfirmorder.php' method='post'> 
    Number of Shares to Sell: 
    <input type='text' name='ask_shares_new'><br /><br /> 

    Lowest Price Per Share You Will Sell: &nbsp 
    <input type='text' name='ask_new'> 

    <input type='hidden' name='postcardname' value='$postcardname'> 
    <input type='submit' name='submit' value='Sell Shares or Place Ask Order'> 
    </form> 

は、次に確認ページが(私がこだわっているところ、これは)いくつかの計算を行うと、自分のデータベースを更新提出時になります。

私はDBの最初の行から開始して、ユーザが入力した数値から減算する

$query = mysql_query(" 
     SELECT * 
     FROM ask, search 
     WHERE search.id = ask.card_search_id 
     AND search.card_name = '$postcardname' 
     ORDER BY ask_price ASC 
    "); 

配列またはループのいくつかの並べ替えを必要とします。

ので、私はループせずに必要なものの例は、これだけは明らかに動作しないだろう、このようになります。

$example_var - first row of array = answer 


($example_var - first row of array) - second row of array = answer 

($example_var - first row of array - second row of array) - thrid row of array = answer 

などだけで、残りの左があるまで。 mysqlのUPDATEコードの各減算にanserを使用する必要があります。残りの部分も使用する必要があります。だから、数学をやるために、ある種類のループや配列、あるいは2つのコンボが必要です。 どんな助力も素晴らしいでしょう。 もう一度ありがとうございます。

答えて

0
$answers = array(); 

// Loop though your query result 
while($row = mysql_fetch_row($query)) 
{ 
    // if $example_var get's below 0, abort 
    if ($example_var - $row[0] < 0) 
     break; 

    // subtract the current row's value 
    $example_var -= $row[0]; 

    // save the answer 
    $answers[] = $example_var; 
} 

$answer次いで$example_varは残りを含有し、各減算の中間結果を含むことになります。

+0

WOW。ありがとうございました。私はこれを探して何週間も過ごしました...そしてあなたはそれをとてもシンプルに見せました。私が連絡をとっていれば気になります。私はたくさんの質問があると確信しており、PHPのメンターを持つことは素晴らしいことでしょう。 –

+0

質問します。これが、stackoverflowの目的です。私は唯一の貢献者ではない。 ;-) – Basti

関連する問題