Ankündigung

Einklappen
Keine Ankündigung bisher.

Insert Into mit Rechenergebnissen und Tabelleninhalten

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • krampi
    hat ein Thema erstellt Insert Into mit Rechenergebnissen und Tabelleninhalten.

    Insert Into mit Rechenergebnissen und Tabelleninhalten

    Hallo PHP-Gemeinde,

    nun bin ich zu INSERT INTO vorgedrungen, was ich für ein Login-System bereits hatte ausprobieren können.

    Jetzt wird es aber für mich schwierigier.

    Ich möchte Daten in einer Table ex_calc eintragen, wobei 4 der insgesamt 6 Einträge - sell, buy, kurstest und umsatz - vorher errechnet werden.

    PHP-Code:
    INSERT INTO ex_calc (stock_idstockpricesellbuykurstestumsatz
    Allerdings kenne ich INSERT INTO nur so, dass die Daten aus Feldern (Type-In-Fields) und eben aus Tabellen übernommen würden. Doch wie ist es mit errechneten Zahlen?

    Aus diesem folgenden Code die Ergebnisse (Echo diente lediglich der Richtigkeitsüberprüfung der Daten) sollen über INSERT INTO in eine Tabelle ex_calc fließen.
    PHP-Code:
    $berechnung "SELECT ex_transfer.stock_id, ex_transfer.stockprice, SUM(IF(ex_transfer.Order=2,stockcount,0)) AS sell, SUM(IF(ex_transfer.Order=1,stockcount,0)) AS buy ".
              
    "FROM ex_transfer ".
              
    "GROUP BY ex_transfer.stockprice";

    $result mysql_query($berechnung) or die(mysql_error());
    WHILE(
    $row mysql_fetch_array($result)){
            
    $kurstest $row['buy']-$row['sell'];

            echo 
    $row['stock_id']. " / "$row['stockprice']. " / "$row['sell']. " / "$row['buy']. " / "$kurstest" / ";
            IF (
    $kurstest<0) {echo $row['buy'];} ELSEIF ($kurstest>0) {echo $row['sell'];} ELSEIF ($kurstest==0) {echo $row['sell'];} 
    Wie bereits erwähnt plagt mich primär, dass ja sowohl DB-Tabellen-Ergebnisse wie auch Summen eingefügt werden.

    Ich danke für Tipps und Hinweise und bitte um Verzeihung für mein Nichtiwssen - aber wie in einem Thread erwähnt, habe ich mich selbst in einen Crashkurs geworfen und habe noch ein paar Lücken.

  • ChrisB
    antwortet
    mysql_error

    Einen Kommentar schreiben:


  • krampi
    antwortet
    Bitte verzeiht den Doppelpost. Habe ein Script erstellt, um Daten in die Tabelle zu schreiben, aber es ist wohl ein Fehler drin. Zumindest gibt es einen Tabelleneintrag.

    Wo ist der grundlegende Fehler???

    PHP-Code:


    $eintrag 
    "INSERT INTO ex_calc (stock_id, stockprice, sell, buy, kurstest) ".
               
    "SELECT ex_transfer.stock_id AS stock_id, ex_transfer.stockprice AS stockprice, SUM(IF(ex_transfer.Order=2,stockcount,0)) AS sell, SUM(IF(ex_transfer.Order=1,stockcount,0)) AS buy, IF(SELL>BUY) {BUY;} ELSEIF(SELL<BUY) {SELL;} ELSEIF(SELL==BUY) {SELL;} AS kurstest ".
               
    "FROM ex_transfer ";


    $eintragen mysql_query($eintrag);

    if(
    $eintragen == true)
       {
       echo 
    "Eintrag war erfolgreich";
       }
    else
       {
       echo 
    "Fehler beim Speichern";
       } 

    Einen Kommentar schreiben:


  • krampi
    antwortet
    Halli hallo und einen schönen guten Morgen,

    bitte verzeiht meine schwammige Ausdrucksweise. Erklären ist bei mir immer etwas problematisch.

    Also im obrigen Beispiel werden ja unter anderem Stock_ID und Stockprice aus der Tabelle ex_transfer gesucht, dazu passend per SUM die Ergebnisse $Buy und $Sell und $kurstest als Ergebnis von
    PHP-Code:
    IF ($kurstest<0) {echo $row['buy'];} ELSEIF ($kurstest>0) {echo $row['sell'];} ELSEIF ($kurstest==0) {echo $row['sell'];} 

    Das Vorhaben sieht vor, dass eben die Ergebnisse von stock_id, stockprice, $Buy, $Sell und $Kurstest per INSERT INTO in die Tabelle ex_calc übertragen werden.

    Jetzt bleibt zu hoffen, dass ich mich gut ausdrücken konnte. In Zukunft werde ich üben, besser zu beschreiben.

    Danke nochmal an euch, dass ihr mir Hinweise geben wollt.

    Einen Kommentar schreiben:


  • Arne Drews
    antwortet
    Klingt für mich auch etwas schwammig.
    Hört sich an, als wenn Du einfach Berechnungen durchführst und die Ergebnisse in eine Tabelle per Insert eintragen willst?!
    Da sehe ich aber dann die Problemstellung nicht...

    Sorry, kannst das etwas genauer erklären, bitte?!

    EDIT
    Wenn Du es so meinst, wie's mir grad gekommen ist (unglücklich formuliert...), könnte SELECT INTO Dich weiter bringen.
    ABER: Ohne gewähr, weil ich nicht weiß, ob ich Dich verstanden habe...

    Einen Kommentar schreiben:


  • dennis81
    antwortet
    Zitat von krampi Beitrag anzeigen
    Allerdings kenne ich INSERT INTO nur so, dass die Daten aus Feldern (Type-In-Fields) und eben aus Tabellen übernommen würden. Doch wie ist es mit errechneten Zahlen?
    Was meinst du damit? Du kannst "alles" per INSERT einfügen. Welche Werte erlaubt sind, hängt von der Tabellen-Struktur haben (verwendete Datentypen).

    Einen Kommentar schreiben:


  • hpf
    antwortet
    Zitat von krampi Beitrag anzeigen
    Aus diesem folgenden Code die Ergebnisse (Echo diente lediglich der Richtigkeitsüberprüfung der Daten) sollen über INSERT INTO in eine Tabelle ex_calc fließen.
    Aus deiner halboffenen While-Schleife erkenne ich nur, dass du aus der vorangegangenen Datenbankabfrage $kurstest = $row['buy']-$row['sell']; berechnest.
    Vermutlich genügt dazu ein UPDATE.
    Kannst du dein Vorhaben genauer erklären?

    Einen Kommentar schreiben:

Lädt...
X