ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
199
199
EMPFEHLEN
-
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
-
06.01.08 02:45 #2
- 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
-
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 id, sum(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
-
Problem mit WHERE-Klausel
Von dark_ghost im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 01.08.06, 22:09 -
Spezielle WHERE-Klausel
Von Gifty43 im Forum Relationale DatenbanksystemeAntworten: 9Letzter Beitrag: 28.04.06, 09:16 -
Access Where Klausel
Von OrlandoFurioso im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 14.02.06, 13:26 -
where klausel
Von NgiseD im Forum ASPAntworten: 3Letzter Beitrag: 02.06.02, 08:51 -
where klausel
Von NgiseD im Forum ASPAntworten: 3Letzter Beitrag: 13.05.02, 19:39





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren