php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.01.2005, 02:44  
Gast
 
Beiträge: n/a
Standard Zelle updaten?

Hallo!
Folgendes Problem:

So sieht die Tabelle aus:

ID |Name| P2 | P3 ....
1 | Bernd | 3 | 1
2 | Dieter | 1 | 0
3 | Klaus | 0 | 0
4 | Gesamt |0 | 0 // Voreingestellt Nullwert soll dann aber berechnet werden (bzw. sich entsprechend verändern) sobald zu den Namen in die Splaten P2, P3 was eingetragen wird.
....

So ich hab dann bspw. die Spalte P2 für den wert Gesamt mit:

$sql1 = mysql_fetch_array(mysql_query( "SELECT sum(P2) as gesamtP2 FROM Tabelle"));

....berechnet.

Jetzt könnte ich das ja mit: echo $sql1 ['gesamtP2']; ...ausgeben.

Das ist aber nicht was ich in dem Sinne möchte. Ich möchte stattdessen den Wert(bzw. die Summe) "gesamtP2" in die tabelle schreiben und von dort aus auslesen. Also die Berechnung und Ausgabe voneinander trennen.

Meine Frage ist jetzt wie ich die Summe jeweils in die Tabellen Zelle bekomme bzw. wie der richtige Code bei Set für den berechneten Wert asuzusehen hat den so wie ich es unten hab ist es ja offensichtlich nicht richtig!?

UPDATE tabelle

SET
P2 = '$sql1 ['gesamtP2']',
P3 = '$sql1[' gesamtP3 ']'
WHERE
ID = '4';

Ich hoffe die Formatierung vom Code ist okay hab mich das erste mal daran versucht...
gruss,
Azubi
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.01.2005, 10:05  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Wenn du Elemente aus assoziativen Arrays verwendest, kannst du sie nicht direkt in den String eingeben, sondern musst sie mit dem Punkt-Operator verknüpfen:
Code:
$sql = "UPDATE tabelle
  SET
    P2 = '" . $sql1['gesamtP2'] "',
    P3 = '" . $sql1['gesamtP3 '] "'
  WHERE
    ID = 4";
Sonst wäre der Code schon in Ordnung. Allerdings widerspricht es den Grundlagen relationaler Datenbanken, berechenbare Daten abzuspeichern. Dazu gibt es auch keinen Grund, da du die Werte jederzeit berechnet ausgeben kannst, während du andernfalls bei jeder Änderung der Attribute P2 oder P3 die Werte neu berechnen musst.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 27.01.2005, 15:14  
Gast
 
Beiträge: n/a
Standard

Zunächst mal Danke für Deine Antwort!

Hmmm von wegen Grundlagen ...also gut ich bin überzeugt :wink:

Trotzdem was ich nicht ganz so verstehe ist das mit dem wird nicht neu berechnet. Wenn ich die Werte änder und die datei im Browser neu aufrufe müsste er mir doch eigentlich die alten Einträge für Gesamt entsprechend neu berechnen und in der Datenbank die alten berechneten Werte überschreiben oder nicht?

gruss,
Azubi
  Mit Zitat antworten
Alt 30.01.2005, 11:39  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Da wird sich nichts automatisch ändern. Dazu bräuchtest du einen Trigger, und die gibt es, meines Wissens, in Mysql nicht. Woher soll die DB auch wissen, dass du die Gesamtpunkte ausgerechnet in Zeile 4 speichen willst? Also musst du, sobald du einen neuen Eintrag machst oder einen bestehenden änderst, einen Update auf Zeile mit der ID 4 machen.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 30.01.2005, 17:06  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von lazydog
Also musst du, sobald du einen neuen Eintrag machst oder einen bestehenden änderst, einen Update auf Zeile mit der ID 4 machen.
Ja genau das war ja Anfangs mein Ziel und so müsste er es doch in diesem Beispiel auch machen oder hab ich da grad nen Denkfehler drinne?
  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
Mehrere Werte in einer Zelle auslesen GSJLink Datenbanken 8 10.01.2008 20:50
HTML/CSS: Gitternetz-Tabelle, selektierte Zellen Zergling-new Tutorials 0 06.07.2007 19:53
direkt updaten? mar8125 Datenbanken 3 13.06.2006 22:46
formularergebnis in zelle anzeigen matthros PHP Tipps 2006 17 05.05.2006 12:53
CSV Datei einlesen, auslesen, updaten PHP Tipps 2006 6 08.01.2006 17:18
[Erledigt] CSS: komplette Zelle Linkaktiv machen - Problem HTML, Usability und Barrierefreiheit 12 05.11.2005 00:28
php updaten fadass Off-Topic Diskussionen 5 04.10.2005 01:24
[Erledigt] Nur Teil von Zelle auslesen Datenbanken 7 16.09.2005 13:38
Zelle mit scrollbar? HTML, Usability und Barrierefreiheit 5 01.07.2005 21:40
Ich möchte php 4 auf php5 updaten!! Klaus Server, Hosting und Workstations 5 16.06.2005 20:16
massenformular updaten chief-thomson PHP Tipps 2005 15 06.04.2005 20:12
Datensatz ändern (UPDATEN) PHP Tipps 2005 18 31.03.2005 09:46
Server auf php 5.xx updaten? 'progman' PHP Tipps 2005 4 21.03.2005 20:02
zelle wird bei größerem padding breiter HTML, Usability und Barrierefreiheit 9 22.02.2005 18:48
Server updaten etc. (PHP Updaten) Beitragsarchiv 1 08.12.2004 09:59


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:36 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.