php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.07.2008, 17:28  
Benutzer
 
Registriert seit: 13.12.2005
Beiträge: 65
buggybugga
Standard Mehrere Arrays summieren

Ich hab da mal eine Frage. Wenn ich mehrere Arrays habe...beispielsweise wie folgt:

Array1(rechner1,512);
Array2(rechner1,256);
Array3(rechner1,0);
Array4(rechner2,512);
Array5(rechner2,0);
Array6(rechner2,0);
Array7(rechner3,1024);
Array8(rechner3,1024);

Wie kann ich es hinkriegen, dass ich die Arrays zusammenfasse. Sodass aus den ersten 3 Arrays folgender Array wird (rechner1,76, dem zweiten (rechner2,512) und dem dritten (rechner3,2024). Ich habe vieles gefunden, wie zum Beispiel SUM, dies bezieht sich aber nicht auf ArrayÜbergreifende Anwendungen.
__________________
http://www.schwarzerton.de.
buggybugga ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.07.2008, 18:10  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mit den PHP-Array Funktionen die du als Fortgeschrittener bereits kennst
phpdummi ist offline   Mit Zitat antworten
Alt 21.07.2008, 18:11  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie willst du denn die arrays in so eine funktion übergeben und was soll dabei rauskommen?
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline   Mit Zitat antworten
Alt 22.07.2008, 09:45  
Benutzer
 
Registriert seit: 13.12.2005
Beiträge: 65
buggybugga
Standard

Das mit dem fortgeschrittenen nehm ich dir übel. Ne, sorry...wenns nich in dieses Forum passt und eher in den Anfängerbereich sollte, einfach verschieben.

Also...es geht darum. Ich ziehe aus der Datenbank unserer Computerinventarisierung/Netzwerkverteilung (bzw. Matrix 42 Empirum) den kompletten Satz der PCs. PCs sind eben in Tabellen gefasst. Dazu will ich die Speichergrößen der einzelnen Module abfragen, durch JOINs. Dabei kommen dann aber mehrfache Datensätze raus, sodass ich eben den Rechner1 mit 3 verschiedenen Speicherangaben habe. Summiert man diese drei Datensätze, erhält man den kompletten Speicher eines PCs.

Ihr denkt jetzt wahrscheinlich an die SUM() Funktion, die mir MySQL bietet. Naklar...gute Idee, wenn da nicht das Problem wäre, dass die Spalten der Speichergröße VARCHARs sind. Irgendjemand hat die glorreiche Idee gehabt und statt 256 ein 256MB einzutragen. Naja, mit VARCHARs lässt es sich schwer zu summieren. Deshalb wollte ich die Abfrage in ein Array schreiben lassen und das MB am Ende streichen, bevor die Werte gespeichert werden. Daraus resultiert aber das Problem immernoch, dass ich für einen PC mehrfache Werte habe.

So...
__________________
http://www.schwarzerton.de.
buggybugga ist offline   Mit Zitat antworten
Alt 22.07.2008, 10:01  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

In dem Fall lässt sich mit VARCHARS wunderbar rechnen. Gib einfachmal das folgende Beispiel in irgend einen SQL-Monitor ein:
Code:
SELECT '256MB' + 7 + '128MB'
Dasselbe funktioniert auch mit der SUM()-Funktion. Aber es Funktioniert nur, wenn die Zahlen am Anfang des Strings stehen.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 22.07.2008, 10:34  
Benutzer
 
Registriert seit: 13.12.2005
Beiträge: 65
buggybugga
Standard

Mhh...meinst du, dass die Abfrage dann einfach Integer draus macht, da die 7 mit dabei ist?
__________________
http://www.schwarzerton.de.
buggybugga ist offline   Mit Zitat antworten
Alt 22.07.2008, 10:51  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Schwarcer
Mhh...meinst du, dass die Abfrage dann einfach Integer draus macht, da die 7 mit dabei ist?
Gibt es 391 oder nicht? Das lässt sich doch ausprobieren.
Es werden einfach alle Ziffern am Anfang des Strings genommen (inklusive Dezimalpunkt!) und als Zahlen behandelt. Das muss nicht zwingend INTEGER, sondern kann auch DOUBLE ode ähnliches sein.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 22.07.2008, 11:16  
Benutzer
 
Registriert seit: 13.12.2005
Beiträge: 65
buggybugga
Standard

Aber wie soll ich das in der SUM Formel umsetzen!?! Achso...nebenbei...is kein MySQL sondern MSSQL...keine Ahnung ob es da in diesem Falle einen Unterschied macht.

Kann sein, dass ich mich da verschrieben habe.

Wenn ich die SUM Funktion nutze, kommt die Meldung, dass SUM nur EIN Argument zulässt. Wie genau lautet die Syntax der MSSQL Abfrage? Habe momentan folgende:

'SELECT ic.Computername, ic.client_id, SUM(b1.InstalledSize) AS speicher FROM InvComputer ic, DMIMemModule b1 WHERE ic.client_id = b1.client_id AND b1.InstalledSize != "0MB" AND ic.Computername LIKE "%WKS-BF%" GROUP BY ic.Computername,ic.client_id ORDER BY pc''
__________________
http://www.schwarzerton.de.
buggybugga ist offline   Mit Zitat antworten
Alt 22.07.2008, 11:51  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Schwarcer
Achso...nebenbei...is kein MySQL sondern MSSQL...keine Ahnung ob es da in diesem Falle einen Unterschied macht.
Und das so nebenbei
Wenn ich bei MSSQL unter SUM() nachschaue, finde ich:
Zitat:
SUM can be used with numeric columns only. Null values are ignored.
also macht das klar einen Unterschied. Ich kanns ntürlich nicht testen, aber versuch es mal in die folgende Richtung:
Code:
SELECT 
	ic.Computername, 
	ic.client_id, 
	SUM(SUBSTRING(b1.InstalledSize, 1, LEN(InstalledSize) - 2)) AS speicher 
FROM 
	InvComputer ic, 
	DMIMemModule b1 
WHERE 
	ic.client_id = b1.client_id 
AND 
	b1.InstalledSize != "0MB" 
AND 
	ic.Computername LIKE "%WKS-BF%" 
GROUP BY 
	ic.Computername,
	ic.client_id 
ORDER BY 
	pc
Das kann natürlich nur gehen, wenn die Masseinheit immer vorhanden ist und aus zwei Buchstaben besteht.
__________________
Gruss
L
lazydog 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
If-Abfrage mit mehrdimensionalen Arrays fehlerhaft aherzog PHP Tipps 2008 19 23.06.2008 08:16
eindimensionale arrays sortieren webazubi PHP Tipps 2007 5 23.03.2007 18:11
Größe des Arrays oder der MySQL-Abfrage in Bytes? Gumfuzi PHP Tipps 2006 10 03.10.2006 16:48
Arrays sortieren, Bezeichnung, Preis Ticos PHP Tipps 2006 4 07.09.2006 19:37
Arrays kreuzen PHP Tipps 2006 13 08.03.2006 11:36
[Erledigt] 2 Arrays miteinander vergleichen PHP Tipps 2007 3 17.12.2005 16:54
[Erledigt] Objektorientierter Zugriff auf Multidimensionale Arrays PHP-Fortgeschrittene 31 26.11.2005 21:46
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
zweidimensionale Arrays für Templates aufbereiten? PHP Tipps 2005 6 22.03.2005 20:49
[Erledigt] Kombination von mehreren Arrays PHP-Fortgeschrittene 27 18.02.2005 23:33
Alle Kombinationen von mehreren Arrays PHP-Fortgeschrittene 2 18.02.2005 09:59
5 assosiative arrays gleichzeitig sortieren PHP Tipps 2004-2 2 13.12.2004 14:07
Erkennung von Arrays in Strings PHP-Fortgeschrittene 15 07.12.2004 13:00
2 arrays in abhängigkeit ??? PHP Tipps 2004 2 11.08.2004 21:19
Werte eines Arrays in eine MySQL schreiben PHP Tipps 2004 2 28.06.2004 13:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php array rechnen, arrays summieren, rechnen mit arrays, http://www.php.de/php-fortgeschrittene/46199-mehrere-arrays-summieren.html, mit arrays rechnen, array rechnen php, array summieren, php sum array, mit array rechnen, php mit arrays rechnen, rechnen mit arrays php, array php rechnen, php mit array rechnen, php rechnen mit array, rechnen array php, php arrays rechnen, rechnen mit array php, php rechnen array, php array aufsummieren, mit array rechnen php

Alle Zeitangaben in WEZ +1. Es ist jetzt 11:52 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.