php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.01.2012, 09:53  
Neuer Benutzer
 
Registriert seit: 18.05.2011
Beiträge: 6
PHP-Kenntnisse:
Anfänger
chvb befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Bezug innerhalb einer Datenbank Zuweisung

Guten Morgen zusammen,

ich habe einen kleinen Hänger bei der Erstellung meiner Datenbank.
Vielleicht könnte ihr mir ein wenig auf die Sprünge helfen =)

Und zwar habe ich die Datenbank wie folgt aufgebaut:


Ich möchte nun die KG mithilfe folgender Formel berechnen
(liter*(dichte-0.0011))

Ich habe jetzt einen Zugang mit einer fixen Nummer "LB X".
Jetzt folgen einige Abgänge die auch von der "LB X" Nummer abgebucht werden.

Wie kann ich dem "KG" Feld bei den Abgängen mitteilen, dass er die Abgänge mit z.B. mit der "LB 1" Nummer mit der "Dichte" vom Zugang der "LB 1 " Nummer mit der Formel "(liter*(dichte-0.0011))" berechnen soll?

Hier mein Ansatz:
PHP-Code:
$query 'SELECT sum(liter*ek/100) as summe, sum(liter) as summe2, sum(liter*(dichte-0.0011)) as summe3 FROM einkaufsliste WHERE Datum LIKE "' mysql_real_escape_string($suche) . '%" AND Produkt LIKE "' mysql_real_escape_string($produkt) . '%" AND Typ LIKE "' mysql_real_escape_string($zugang) . '%" '
Hier nochmal ein Einblick in Datenbankstruktur:


Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt und bedanke mich schonmal herzlichst für eure Unterstützung.

mit freundlichen Grüßen,
chvb
chvb ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.01.2012, 11:41  
Benutzer
 
Registriert seit: 15.05.2009
Beiträge: 64
StefanRHRO befindet sich auf einem aufstrebenden Ast
Standard

Die Frage verstehe ich nicht:

Zitat:
Wie kann ich dem "KG" Feld bei den Abgängen mitteilen, dass er die Abgänge mit z.B. mit der "LB 1" Nummer mit der "Dichte" vom Zugang der "LB 1 " Nummer mit der Formel "(liter*(dichte-0.0011))" berechnen soll?
StefanRHRO ist offline   Mit Zitat antworten
Alt 11.01.2012, 12:03  
Neuer Benutzer
 
Registriert seit: 18.05.2011
Beiträge: 6
PHP-Kenntnisse:
Anfänger
chvb befindet sich auf einem aufstrebenden Ast
Standard

erstmal Danke für die Antwort

wie der oberen Grafik zu entnehmen ist, sind bei der Spalte "KG" der "Abgänge" keine Werte vorhanden.

Diese würde ich gerne mit der genannten Formel berechnen.
"(liter*(dichte-0.0011))"

Da ich die "KG" anhand der Dichte berechnen muss und diese immer nur bei den "Zugängen" eingetragen wird müsste es sich bei den "Abgängen" darauf beziehen.

Dafür müsste das Feld "LB" verwendet werden, da die Abgänge damit zugeordnet werden.

Beispiel Abgang Nr. 3:

KG= (liter*(dichte"-> Ich habe LB Nummer 1, Suche bei Zugang LB Nummer 1 und verwende diese Dichte" -0.0011))


Ich hoffe, dass man es irgendwie nachvollziehen kann.
Vielen Dank und grüße,
chvb
chvb ist offline   Mit Zitat antworten
Alt 11.01.2012, 12:09  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

sehr umständlich mit deiner Vorgabe ...

mach es lieber so: lagere die Dichte : LB_X - Beziehung in eine weitere Tabelle aus, dann kannst du bei allen LB 2 / LB 1 die richtige Dichte einfach aus dieser Tabelle dazu-Joinen und hast damit automatisch auch die richtige Dichte für die Abgänge
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 11.01.2012, 15:43  
Neuer Benutzer
 
Registriert seit: 18.05.2011
Beiträge: 6
PHP-Kenntnisse:
Anfänger
chvb befindet sich auf einem aufstrebenden Ast
Standard

Danke.

Das heißt ich müsste die Daten einmal in eine neue Tabelle kopieren?

Etwa so?

PHP-Code:
INSERT INTO `temp` (IDdichte)
 
SELECT iddichte FROM `einkauf
;

Wie sollte der Aufruf wiederum aussehen wenn ich das ganze so ausführen würde?

Ich bedanke mich recht herzlich,
chvb
chvb ist offline   Mit Zitat antworten
Alt 11.01.2012, 15:54  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

nein, nicht einfach so kopieren, dann würdest du die großen Lücken in der Dichte-Tabelle mit übernehmen ...

Vorzugsweise kopierst du natürlich nur, wo es eine Dichte gibt

Code:
INSERT INTO `temp` (LB, dichte)
 SELECT LB, dichte FROM `einkauf` where dichte !=''
- notfalls musst du da nochmal korrigieren, falls die Einträge ohne Dichte nicht Leer sind, sondern NULL enthalten

anschließen kannst du die KG-Spalte per Update befüllen lassen

Code:
UPDATE `einkauf` AS e 
LEFT JOIN `temp` AS t 
ON e.LB=t.LB 
SET e.KG=(e.Liter*(t.dichte-0.0011))
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

Geändert von eagle275 (11.01.2012 um 16:08 Uhr).
eagle275 ist offline   Mit Zitat antworten
Alt 11.01.2012, 16:35  
Neuer Benutzer
 
Registriert seit: 18.05.2011
Beiträge: 6
PHP-Kenntnisse:
Anfänger
chvb befindet sich auf einem aufstrebenden Ast
Standard

Wow eaggle275!
Vielen Dank, du bist wirklich genial!

Ich habe heute auf jeden Fall eine Menge dazu gelernt.


Ich habe lediglich noch die ID bei dem Insert Befehl hinzugefügt, da es sonst zu Fehlern kam.

PHP-Code:
INSERT INTO `temp` (IDLBdichte)
 
SELECT IDLBdichte FROM `einkaufwhere dichte !='' 

Dann habe ich das ganze in PHP umgesetzt, nachdem ich dies mit PHPmyadmin getestet hatte... und das Ergebnis ist perfekt!


Ich bedanke mich wirklich mehrfach für deine Mühen eaggle275!

mit freundlichen Grüßen,
chvb

Geändert von chvb (11.01.2012 um 16:39 Uhr).
chvb ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Mitmachquiz] Gästebuch mit beliebiger Datenbank Asipak Off-Topic Diskussionen 69 02.03.2011 11:03
[Erledigt] Datensatz von Datenbank A nach Datenbank B kopieren GruenerQuark Datenbanken 2 17.01.2011 17:19
Variablenname aus Datenbank auswerten Eratech PHP Tipps 2010 6 04.05.2010 18:09
Allgemein Werte in Datenbank updaten chunky PHP Tipps 2010 1 08.04.2010 22:35
Datenbank richtig aufgebaut? bageleudi Datenbanken 2 31.03.2010 21:01
Eintragung in Datenbank floh77 Datenbanken 2 12.06.2009 18:42
Mehrsprachigkeit innerhalb einer Datenbank Datenbanken 4 14.09.2005 17:01
Mehrere Anwendungen eine Datenbank... Datenbanken 5 15.08.2005 11:22
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
dichtetabelle, einkaufsliste share, php code für anfänger, liter formel, datenbank mehrfachzuweisungen, lb-nummer

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:46 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum