php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.09.2004, 11:22  
Gast
 
Beiträge: n/a
Standard Multiplikation zweier Spalten innerhalb einer Tabelle

Hallo!
Irgendwie scheint sich mein Problem nicht zu lösen. Werde nun ein wenig präziser werden.
Es geht immer noch um die Multiplikation zweier Spalten und Ausgabe des Produktes in einer anderen Spalte. Meine Tabelle heißt wie folgt:

table: kaufteile
felder: id, posnr, bezeichnung, teilenummer, lieferbezeichung, anzahl, preisstueck, preisgesamt

Wünschenswert wäre eine Funktion, die automatisch den preisgesamt nach Eingabe der anzahl und preisstueck errechnet.

Wäre Euch für eine Antwort dankbar.

Gruß
Astra-Freak
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.09.2004, 11:32  
Gast
 
Beiträge: n/a
Standard

Nanü, präzisieren? Deine einzige andere Frage hier findet sich unter http://www.phpfriend.de/forum/viewtopic.php?p=148133 und hat mit diesem Problem ziemlich wenig zu tun

Code:
SELECT
	id,posnr,bezeichnung,teilenummer,lieferbezeichung,anzahl,preisstueck,(anzahl*preisstueck) as gesamtpreis
FROM kaufteile
  Mit Zitat antworten
Alt 15.09.2004, 12:08  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ausserdem gibt es keinen Grund, berechenbare Daten in der DB zu speichern. Schmeiss also das Attribut "preisgesamt" aus deiner Tabelle. Mit der Abfrage von VolkerK kannst du diesen Preis ja jederzeit berechnen.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 15.09.2004, 12:14  
Gast
 
Beiträge: n/a
Standard

hallo!
danke für den CODE. jetzt geht er auch. muss alles jetzt nur noch in ne php-anweisung bringen, damit die eingabe automatisch sich aktualisiert.
mich interessiert auch, ob man mit währungen rechnen kann - es werden nur volle stellen angezeigt. muss wohl auf FLOAT umstellen, wenn das möglich ist!
Gruß
Astra-Freak

p.s.: ich will durch drücken eines Buttons KALKULATION den Preis pro Artikel bzw. den Gesamtpreis aller Artikel mir anzeigen lassen. Deshalb die PhP-Maske!
  Mit Zitat antworten
Alt 15.09.2004, 12:42  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

SQL-query an die DB schicken. ergebnis mit PHP auslesen, eventuell die funktion number_format( ... ) verwenden.

probiere es aus.
imported_Ben ist offline   Mit Zitat antworten
Alt 15.09.2004, 13:25  
Gast
 
Beiträge: n/a
Standard

Seltsam isses jetzt schon. Alles klappt - jedoch kann meine Datenbank wohl nicht mit Kommazahlen rechnen. Wie muss ich denn eine Währung definieren? Weiß dies zufällig einer? Bekomme immer nur ganze Zahlen als Ergebnis geliefert.
Danke!
Gruß
Astra-Freak
  Mit Zitat antworten
Alt 15.09.2004, 13:32  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Diese Attribute, dh. eigentlich nur "preisstueck", musst du als float, real, decimal o.ä. definieren: http://dev.mysql.com/doc/mysql/de/Numeric_types.html
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 15.09.2004, 14:22  
Gast
 
Beiträge: n/a
Standard

hi again!
irgendwie klappt da doch was nicht!

CODE:
<?php
$SQL = " SELECT id, posnr, bezeichnung, teilenummer, lieferbezeichnung, anzahl, stueckpreis, (anzahl*stueckpreis) as gesamtpreis FROM teile ";
$query = new query($db,$SQL);
?>

...

<?php
$SQL = " SELECT * FROM teile ";
$query = new query($db,$SQL);
while($unick = $query->getrow()) {
echo "<tr>
<td width='15%'><font size='2' face='Arial, Helvetica, sans-serif'>".$unick['anzahl']."</td>
<td width='15%'><font size='2' face='Arial, Helvetica, sans-serif'>".$unick['stueckpreis']."</td>
<td width='22%'><font size='2' face='Arial, Helvetica, sans-serif'>".$unick['gesamtpreis']."</td>
</tr>\n";
}
?>




wenn ich mir die struktur der db ansehe, finde ich keinen fehler im aufbau.
table: teile
id int(11)
posnr text
bezeichnung text
weteilenummer text
lieferbezeichnung text
anzahl text
stueckpreis float
gesamtpreis float
lieferant text

erkennt jemand den grund, warum die multiplikation mit kommazahlen nicht funktioniert?
gruß
Astra-Freak
  Mit Zitat antworten
Alt 15.09.2004, 14:48  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ich weiss nicht genau, was du mit diesem Code erreichen willst, zwei mal fast die gleiche Abfrage. Aber zuerst ein paar Bemerkungen:
  • - Was du mit dem ersten SELECT bezweckst, ist mir völlig unklar
    - Dass du den "gesamtpreis" aus der Tabelle schmeissen sollst, habe ich schon geschrieben.
    - Jedes Attribut vom Typ text verbraucht 65536 Bytes Platz. Ich glaube kaum, dass das so sein soll (varchar benutzen!)
    - Erst recht keinen Sinn macht dieser Typ für das Attribut "posnr" und "anzahl", weil du mit "text" nicht vernünftig rechnen kannst (integer!)
    - und zuletzthttp://php-faq.de/q/q-sql-select.html
Wenn du das entsprechend angepasst hast, wirst du mit
PHP-Code:
$SQL "SELECT anzahl, stueckpreis, anzahl * stueckpreis as gesamtpreis
        FROM teile "
;
$query = new query($db,$SQL);
while(
$unick $query->getrow()) 
{
    echo 
"<tr>
        <td width='15%'><font size='2' face='Arial, Helvetica, sans-serif'>" 
$unick['anzahl'] . "</td>
        <td width='15%'><font size='2' face='Arial, Helvetica, sans-serif'>" 
$unick['stueckpreis'] . "</td>
        <td width='22%'><font size='2' face='Arial, Helvetica, sans-serif'>" 
$unick['gesamtpreis']."</td>
        </tr>\n"
;

auch das gewünschte Resultat erhalten.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 16.09.2004, 12:20  
Gast
 
Beiträge: n/a
Standard

hallo!
danke für die hilfe!
alles klappt prima!
nun aber noch ne weitere frage: ich will den gesamtpreis summiert in der ausgabe bei all den anderen werten gerne sehen. wie realisiere ich dies? es wird ja keine spalte in der tabelle angesprochen, da die werte nicht gespeichert werden. geht das mit einer übergabe per variablen? wäre für hilfe abermals dankbar - code wäre super genial!
gruß
ASTRA-FREAK
  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
SQL-Befehl: Spalte innerhalb der Tabelle in andere Spalte... go1denboy Datenbanken 5 12.06.2008 19:06
Tabelle mit while nach 4 spalten zur nächsten zeile Supeede PHP Tipps 2008 6 10.05.2008 09:46
Wie viele Spalten kann eine Datenbank Tabelle den tragen`? tomtaz Datenbanken 11 20.05.2006 20:22
[Anfänger]: maximale anzahl an spalten in einer tabelle? moose Datenbanken 1 22.04.2006 22:19
Tabelle -> 2 Spalten -> aufteilen lichtscheu PHP Tipps 2006 10 23.03.2006 21:24
Welche Tabelle bzw. Spalten gibt es? PHP Tipps 2006 7 08.02.2006 11:52
Wie kann ich die Spalten einer Tabelle auslesen ? Datenbanken 0 31.10.2005 00:29
drei Spalten einer Tabelle zusammenfügen Lia PHP Tipps 2005-2 24 16.08.2005 15:58
Spalten einer Tabelle mit Eigenschaften auslesen GELight PHP Tipps 2005-2 6 25.07.2005 13:14
[Erledigt] SQL Tabelle - Spalten verschieben - PHPMyAdmin Datenbanken 6 12.07.2005 17:00
Spalten Dynamisch als Tabelle anzeigen lassen(Spalten ausl.) Cyberbob_at_tot PHP Tipps 2005-2 6 04.06.2005 22:55
Tabelle erweitern, Spalten hinzufügen GeorgM Datenbanken 3 24.11.2004 17:06
Erstellen spalten in MySQL tabelle Datenbanken 7 14.11.2004 19:53
[Erledigt] [OT] besser eine Tabelle mit mehr Spalten oder aufteilen ? Datenbanken 1 22.10.2004 17:26
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql multiplizieren, sql multiplikation, mysql multiplizieren, sql spalten multiplizieren, mysql spalten multiplizieren, multiplizieren in sql, tabelle multiplikation, multiplizieren sql, multiplikation sql, sql multiplizieren zweier attribute, mysql multiplizieren spalten, sql select multiplizieren, mysql multiplikation, rechentabelle multiplikation, sql felder multiplizieren, rechentabellen multiplikation, sql zwei spalten multiplizieren, mysql felder multiplizieren, http://www.php.de/datenbanken/9012-multiplikation-zweier-spalten-innerhalb-einer-tabelle.html, mysql rechnen multiplizieren

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