2012-04-03 4 views
1

Ich bin neu in PHP und habe seit Wochen für diese Antwort ohne Glück gesucht. Dies ist nur das zweite Forum auf dem ich jemals gepostet habe und es ist das erste Mal auf diesem. Bitte, bitte, bitte ... das macht mich verrückt.Subtrahieren Sie eine Mysql Array von Zeilen ORDER BY Preis, Datum von einer Zahl eingegeben durch ein Formular mit PHP

Die Website ist wie eine Börsenmakler-Site. Ich habe eine Formularseite, auf der ein Benutzer einen Preis und eine Aktie eingibt.

<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> 

Dann wird die Bestätigungsseite wird (das ist, wo ich bin stecken) tun einige mathematische und auf einreichen meine Datenbank aktualisieren.

Ich brauche

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

irgendeine Art von Array oder Schleife von der ersten Zeile der DB zu starten und der Benutzer eingegeben von der Anzahl subtrahieren.

so ein Beispiel dafür, was ich ohne Schleife brauchen würde nur etwa so aussehen würde dies offensichtlich nie funktionieren: links

$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 

und so weiter, bis es nur ein Rest. Ich muss den Anser zu jeder Subtraktion in meinem UPDATE-Code für mysql verwenden und ich muss auch Rest verwenden. Also brauche ich eine Art von Schleifen oder Arrays oder eine Kombination der beiden, um die Mathematik zu machen und dann diese Zahlen zu verwenden, um meine DB zu aktualisieren. Jede Hilfe wird groß sein. Danke nochmal.

Antwort

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 wird dann das Zwischenergebnis jeder Subtraktion enthalten, werden $example_var den Rest enthalten.

+0

WOW. Danke. Ich habe Wochen damit verbracht, das zu suchen ... und du hast es so einfach aussehen lassen. Macht es dir etwas aus, wenn ich in Kontakt bleibe. Ich bin mir sicher, dass ich noch eine Menge Fragen haben werde und es wäre großartig, einen Mentor zu haben. –

+0

Fragen Sie. Dafür ist stackoverflow zuständig. Ich bin nicht der einzige Beitragszahler. ;-) – Basti

Verwandte Themen