php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 22-10-2003, 12:48
Mr.Bremnskerl
 Newbie
Links : Onlinestatus : Mr.Bremnskerl ist offline
Registriert seit: Oct 2003
Beiträge: 31
Mr.Bremnskerl ist zur Zeit noch ein unbeschriebenes Blatt
Standard Inhalt von einer Zelle summieren und in einer Variable speichern

Ich hab hier halt mit PHP eine SQL-Tabelle auslesen lassen, die ungefähr so aussieht:

ID | Kosten in €
--------------
1 .| 12
--------------
2 .| 12
. . . 24
. . . 8
--------------
3 .| 4
. . . 2
--------------

Wie kann ich nun den Inhalt einer Zelle summieren?
also dass in der 1. Zeile rauskommen würde 12
in der 2. 44
,in der 3. 6

Gibt es da direkt einen Befehl, der das macht?
Mit Zitat antworten
  #2 (permalink)  
Alt 22-10-2003, 12:51
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

SELECT id, SUM(kosten) FROM tabelle GROUP BY id
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #3 (permalink)  
Alt 22-10-2003, 12:53
Mr.Bremnskerl
 Newbie
Links : Onlinestatus : Mr.Bremnskerl ist offline
Registriert seit: Oct 2003
Beiträge: 31
Mr.Bremnskerl ist zur Zeit noch ein unbeschriebenes Blatt
Standard

harrharr THX, gleichma gucken ob das funzt...

noch ne Frage:
wie kann ich maximal z.B. 10 Resultate anzeigen lassen?

----
ThX auch dafür

Geändert von Mr.Bremnskerl (22-10-2003 um 13:02 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 22-10-2003, 12:54
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

http://www.mysql.com/doc/de/SELECT.html
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #5 (permalink)  
Alt 22-10-2003, 13:14
Mr.Bremnskerl
 Newbie
Links : Onlinestatus : Mr.Bremnskerl ist offline
Registriert seit: Oct 2003
Beiträge: 31
Mr.Bremnskerl ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich hab sql, nich mysql.
aber naja

wenn ich da einfach sum(...) da in den Select-Befehl mache.
(das sieht dann so aus:
$fnrquery = "SELECT Teilenummer, sum(Bestellpositionswert) FROM Bestellposition"
." WHERE Investitionsnummer=" . $Ofen['INVNr'];

)

, dann kriege ich folgende Fehlermeldung:

Zitat:
Warning: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Die Bestellposition.Teilenummer-Spalte ist in der Auswahlliste ungültig, da sie nicht in einer Aggregatfunktion enthalten und keine GROUP BY-Klausel vorhanden ist., SQL state 37000 in SQLExecDirect in c:\inetpub\wwwroot\investition\index2.php on line 150
Wenn ich das mit sum dazu schreibe, wo er die Kosten ausgeben will, was da so aussieht:

print sprintf("%01.2f", trim(sum($fnr['Bestellpositionswert']))) . "<BR>\n";


sagt er folgenden Fehler:
Zitat:
Fatal error: Call to undefined function: sum() in c:\inetpub\wwwroot\investition\index2.php on line 153
...
Mit Zitat antworten
  #6 (permalink)  
Alt 22-10-2003, 13:18
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

ob microsoft sql oder mysql is wurschtegal bei deinem problem

du solltest dir meinen code nochmal anschauen und dann adaptieren, bei denem select fehlt das GROUP BY
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #7 (permalink)  
Alt 22-10-2003, 13:20
Mr.Bremnskerl
 Newbie
Links : Onlinestatus : Mr.Bremnskerl ist offline
Registriert seit: Oct 2003
Beiträge: 31
Mr.Bremnskerl ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und wenn ich einfach die Limit KLausel verwende, was dann so aussieht:
SELECT STOFFBEZ, STOFFID, STOFFGRPID, MINMENGE FROM Stoffe LIMIT 10

dann sacht er :
Zitat:
Warning: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Zeile 1: Falsche Syntax in der Nähe von '10'., SQL state 37000 in SQLExecDirect in c:\inetpub\wwwroot\ccs2000bestaende\test2\index.php on line 181
Anscheinend kennt er 'limit' gar nicht. oder was?? 0_o
Mit Zitat antworten
  #8 (permalink)  
Alt 22-10-2003, 13:22
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

ich bezog mich auf das summieren
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #9 (permalink)  
Alt 22-10-2003, 13:27
Mr.Bremnskerl
 Newbie
Links : Onlinestatus : Mr.Bremnskerl ist offline
Registriert seit: Oct 2003
Beiträge: 31
Mr.Bremnskerl ist zur Zeit noch ein unbeschriebenes Blatt
Standard

is klar

Wie muss denn da jetzt sum() eingesetzt werden bei mir? Habs probiert aber es sacht immer Fehlermeldung...

$query = "SELECT Investitionsnummer, Teilenummer, Bestellpositionswert FROM Bestellposition"
." WHERE Investitionsnummer=" . $Ofen['INVNr'];

Wie muss das jetzt da aussehen? einfach sum(Bestellpositionswert) ?? und wo muss dann das group by hin? der sacht immer Fehler
Mit Zitat antworten
  #10 (permalink)  
Alt 22-10-2003, 13:29
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von mrhappiness
SELECT id, SUM(kosten) FROM tabelle GROUP BY id
isses so schwer daraus dann
Code:
SELECT Teilenummer, sum(Bestellpositionswert) 
FROM Bestellposition
WHERE Investitionsnummer=0815
GROUP BY Teilenummer
zu machen?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #11 (permalink)  
Alt 22-10-2003, 13:34
Mr.Bremnskerl
 Newbie
Links : Onlinestatus : Mr.Bremnskerl ist offline
Registriert seit: Oct 2003
Beiträge: 31
Mr.Bremnskerl ist zur Zeit noch ein unbeschriebenes Blatt
Standard

japp, weil ich dann aus:
$query = "SELECT Investitionsnummer, Teilenummer, Bestellpositionswert FROM Bestellposition"
." WHERE Investitionsnummer=" . $Ofen['INVNr'];

das machen soll !? :
$query = "SELECT Investitionsnummer, Teilenummer, sum(Bestellpositionswert) FROM Bestellposition"
." WHERE Investitionsnummer=" . $Ofen['INVNr'] ."GROUP BY Investitionsnummer";

oder doch eher GROUP BY Teilenummer ¿

Is das richtig?
Mit Zitat antworten
  #12 (permalink)  
Alt 22-10-2003, 13:37
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

warum lässt du dir die investitionsnummer denn überhaupt zurückliefern?

die weißt du duch schon, denn du gibst sie mit WHERE vor!

aber wenn du unbedingt willst, dann mach GROUP BY investitionsnummer, teilenummer
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #13 (permalink)  
Alt 22-10-2003, 13:41
Mr.Bremnskerl
 Newbie
Links : Onlinestatus : Mr.Bremnskerl ist offline
Registriert seit: Oct 2003
Beiträge: 31
Mr.Bremnskerl ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also das, mit dem nur 10 anzeigen hab ich schonmal

$sqlOfenQuery = "SELECT STOFFBEZ, STOFFID, STOFFGRPID, MINMENGE FROM Stoffe LIMIT 10";

So stand es da auf der schwulen mysql-site.
Aber geht nich
Wenn ich aber nu das so schreibe:
$sqlOfenQuery = "SELECT TOP 10 STOFFBEZ, STOFFID, STOFFGRPID, MINMENGE FROM Stoffe";

,dann gehts. Also wer hat jetzt hier Recht? Ganz einfach, ich hab kein mysql!
Mit Zitat antworten
  #14 (permalink)  
Alt 22-10-2003, 16:07
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

OffTopic:
@Mr.Bremnskerl:
deine ausdrucksweise lässt stark zu wünschen übrig - wenn du hier auch zukünftig noch hilfreiche antworten bekommen willst, dann arbeite bitte daran.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #15 (permalink)  
Alt 23-10-2003, 12:02
Mr.Bremnskerl
 Newbie
Links : Onlinestatus : Mr.Bremnskerl ist offline
Registriert seit: Oct 2003
Beiträge: 31
Mr.Bremnskerl ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok, wenn ich das alles genau so mache, was dann so aussieht :
GROUP BY Investitionsnummer, Teilenummer

, dann gibt er da, wo er sonst in einer Zelle mehrere Beträge angegeben hat, viele NULLEN aus.

Also sind aus den Beträgen alles Nullen geworden...
Noch wer nen Rat??
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

jqPlot jQuery Plotting Plugin ansehen jqPlot jQuery Plotting Plugin

jqPlot ist ein plotting und charting plugin für das jQuery Javascript framework

06.11.2019 Berni | Kategorie: AJAX/ Framework
WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

10.10.2019 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

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