tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
199
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    quidnovi quidnovi ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    294
    Hi Helferlein,

    weil ich nicht weiß, wie ich dieses Problem beseitigen soll, könnte ich hier falsch sein. Wenn dies zutrifft, dann bitte verschieben, danke.

    Übergebe Daten aus einem Eingabeformular in eine Mysql Db. Nachdem diese Daten in die Db geschrieben wurden, werden sie überprüft - genauer gesagt, einige Zahlenwerte.

    Ein Beispiel:
    4.1.2007; 9;
    5.1.2007; 9;

    Eintrag 1 und Eintrag 2 haben je einen Gesamtzahlenwert von 9.
    Da nun aber der Zahlenwert 8,5 nicht übersteigen darf, werden diese auf 8,5 geändert.
    4.1.2007; 8,5;
    5.1.2007; 8,5;

    Nun muss ich die jeweils 0,5 den Einträgen wieder zuführen, sprich einen neuen Eintrag in die Db bezogen auf die Einträge durchführen.

    Soll dann so aussehen:
    4.1.2007; 8,5;
    4.1.2007; 0,5;

    5.1.2007; 8,5;
    5.1.2007; 0,5;

    Einzeln kann ich das sehr wohl mittels SQL und PHP lösen, aber das ist nicht möglich, da die Menge der Einträge aus dem Eingabeformular bis zu 20 gleichzeitig betragen können.

    Da man - meines bescheidenen Wissens und dem Internet zu Folge keine WHERE Klausel an INSERT INTO anhängen kann, weiß ich nun nicht mehr weiter.

    Gibt es mittels PHP eine Lösung? Bitte um Eure Hilfe, danke
     

  2. #2
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    Du generierst Die INSERTs doch per PHP, oder nicht? Dann prüf' doch den Wert vorher mit PHP und mach gegebenenfalls 2 INSERTs.

    LG
     

  3. #3
    R00Ki3 R00Ki3 ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Ort
    NRW
    Beiträge
    247
    Es gibt aus deiner Sicht 2 Möglichkeiten das Problem zu lösen.
    1. wie schon beschrieben: via php werte kontrollieren und umwandeln...
    2. cronjob: zeitgesteuerte aufträge...

    Falls die werte zeitnah geändert werden müssen sollte die kontrollfunktion genutzet werden...
    Als nächstes ist wichtig, hast du überhaupt die Möglichkeit cronjobs auszuführen...
    In fall 1 solltest du jedoch erst eine Abfrage erstellen die die vorhanden werte addiert, da mehrfach werte einheiten mit 8,5 + einträge mit überschüssigenwerten existieren...
    Als nächstes die addierten werte durch 8,5 teilen, die alten einträge entfernen und die neuen einfügen...
    In punkto Serverauslastung sollte es jedoch bei 20 zugriffen zeitgleich eigendlich keine probleme geben, wenn der server nicht umbedingt von 1000 usern genutzt wird...

    PHP-Code:
    $selectquery select idsum(wertefeld) as summe from ...tabelle where datum =.....;
    $insertdatensaetze $value 8,5;
    $vollwerte abrunden($insertdatensaetze); //ceil ist glaube ich...
    $restwerte =... //modulo für restwerte
    for($i=0$i<$vollwerte$i++){
    insertquery...
    }
    insertquery...restwert... 
     

Ähnliche Themen

  1. Problem mit WHERE-Klausel
    Von dark_ghost im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 01.08.06, 22:09
  2. Spezielle WHERE-Klausel
    Von Gifty43 im Forum Relationale Datenbanksysteme
    Antworten: 9
    Letzter Beitrag: 28.04.06, 09:16
  3. Access Where Klausel
    Von OrlandoFurioso im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 14.02.06, 13:26
  4. where klausel
    Von NgiseD im Forum ASP
    Antworten: 3
    Letzter Beitrag: 02.06.02, 08:51
  5. where klausel
    Von NgiseD im Forum ASP
    Antworten: 3
    Letzter Beitrag: 13.05.02, 19:39