php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.03.2006, 14:05  
Erfahrener Benutzer
 
Registriert seit: 11.03.2004
Beiträge: 138
Sonja
Standard Zahlen zusammenzählen

Hi

Ich will die Zahlen aus der DB zusammenzählen. Die Zahlen sind in MySql als double erfasst.

Die Zahlen werden ausgeben, doch ich will das Resultat, die Summe der Zahlen.

Was mache ich falsch?


PHP-Code:
$query_objekt="SELECT brutto FROM db
where wohnung_id=$row_haus[wohnung_id]"
;
$result_objekt=mysql_query($query_objekt);
$zaehler=0;
while (
$data=mysql_fetch_array($result_objekt))
{
$zaehler=$zaehler+$data[0];
}
echo
"$zaehler"
Sonja ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 27.03.2006, 14:10  
Gast
 
Beiträge: n/a
Standard

Versuche es mal so:
PHP-Code:
$query_objekt="SELECT sum(brutto)  FROM db where wohnung_id = $row_haus[wohnung_id]"

$result_objekt=mysql_query($query_objekt) or die ("MySQL-Error: " mysql_error());

$summe mysql_result($result_objekt0);

echo 
$summe
Gruß
phpfan
 
Alt 27.03.2006, 14:31  
Erfahrener Benutzer
 
Registriert seit: 11.03.2004
Beiträge: 138
Sonja
Standard

Danke, aber im echo kommen immer noch die Zahlen hintereinander, statt zusammegezählt.

Ich habe im MySql auch schon umgestellt auf Dezimal, aber es zählt nicht zusammen.

Ich habe die Funktion auf zwei unterschiedlichen Servern getestet, und es wird einfach nicht gerechnet!

Gruss
Sonja
Sonja ist offline  
Alt 27.03.2006, 14:34  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

http://de.php.net/manual/de/function.settype.php

versuchs mal damit !
M3g4Star ist offline  
Alt 27.03.2006, 14:35  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Sonja
Danke, aber im echo kommen immer noch die Zahlen hintereinander, statt zusammegezählt.
In meinem Quellcode wird genau einmal $summe ausgegeben, es kann also nicht mehrfach kommen. Es sei denn, du hast diesen Teil in einer Schleife, die du uns aber dann verschwiegen hast.

Gruß
phpfan
 
Alt 27.03.2006, 15:08  
Erfahrener Benutzer
 
Registriert seit: 11.03.2004
Beiträge: 138
Sonja
Standard

Es sind schon mehrere Schleifen, und ich habe nur den Teil daraus kopiert. Die Summe ist aber schon immerhalb einer SChlafe

Das Ganze ist auf mehrere Tabellen aufgeteilt. Und ich brauche den Mietzins pro Verwaltung

Eine kleine Beschreibung:

Es gibt viele Verwaltungen
Jede Verwaltung hat Häuser
Jedes Haus hat Wohnungen
Jede Wohnung hat Mietzinse, alte, aktuelle und ev. zukünftige

Und ich brauche die aktuellen Mietzinse pro Verwaltung, also die Summe

Der Ganze Code sieht so aus:




PHP-Code:
<table border="1" cellpadding="0" cellspacing="0">
<?
$query_verwalt 
"SELECT  * FROM db1,db2,db3
where db1.verwalt_id=db2.verwalt_id
and bd3.haus_id=db2.haus_id
GROUP BY db1.verwalt_id"
;
$result_verwalt mysql_query($query_verwalt,$link);
            while (
$row_verwalt mysql_fetch_array($result_verwalt))
            { 
            
?> 
            <tr valign="top" class="text"><td> <?php echo"$row_verwalt[verwalt_name]";?></td>
            <td>
                
            <?php
            $verwalt_id
=$row_verwalt[verwalt_id];
            
$query_haus "SELECT wohnung_id  FROM db2,db3
            where db2.haus_id=db3.haus_id
            and verwalt_id=$verwalt_id"
;
            
$result_haus mysql_query($query_haus,$link);
                    while (
$row_haus mysql_fetch_array($result_haus))
                    { 
                            
$query_objekt="SELECT SUM(wohnung_brutto)  FROM db3,db4
                            where db3.wohnung_id=db4.wohnung_id
                            and db3.wohnung_id=$row_haus[wohnung_id]"

                            
$result_objekt=mysql_query($query_objekt) or die ("MySQL-Error: " mysql_error());
                            
$summe mysql_result($result_objekt0);
                            echo 
$summe
                            
//Trennzeichen nur um zu sehen ob es einzelne Zahlen sind
                            
echo"I";
                    }
              
?>
              </td>
              </tr>
            <?php
            
}?>
</table>

Als Resultat (nur eine Zelle einer Zeile ) 345I345I650I456I456I456I56I750I345I345I750I675I567 I678I

Also immer schön die Zahle dass das I das ich im Moment noch gesetzt habe!

PS: ich versuchte auch alles über ein SELECT zu machen, aber das brauchte kein gutes Resultat, weil dann nur noch 1 Wohnung pro Verwaltung ausgegeben wurde.
Sonja ist offline  
Alt 27.03.2006, 15:15  
Gast
 
Beiträge: n/a
Standard

Tja, dann solltest du mal etwas nachdenken, zumal es sich hier ja wohl um ein kommerzielles Script handelt. Oder willst du uns erzählen, dass du eine Wohnungsverwaltung nur aus Langeweile schreibst?

Setze $summe am Anfang auf 0 und in der Schleife schreibst du

$summe .= mysql_result($result_objekt, 0);

Und wenn die Schleifen beendet sind, kannst du $summe ausgeben. Außerdem bleibt es dein Geheimnis, warum du "Select *" auf drei Tabellen machst, wenn du nur einen Teil davon brauchst. Das ganze sieht mir nicht besonders durchdacht aus.

Gruß
phpfan

Gruß
phpfan
 
Alt 27.03.2006, 15:51  
Erfahrener Benutzer
 
Registriert seit: 11.03.2004
Beiträge: 138
Sonja
Standard

Gelöst!

Aber immer noch mit 2 Select!

PHP-Code:
<?php
<?php 
$heute
=time();     
$query "SELECT  verwalt_name,verwalt_zusatz,verwalt.verwalt_id
FROM verwalt,haus,wohnung
WHERE verwalt.verwalt_id=haus.verwalt_id
AND haus.haus_id=wohnung.haus_id
GROUP BY verwalt.verwalt_id"
;
$result mysql_query($query,$link);
while (
$row mysql_fetch_array($result))

?>
      <tr class='text'>
       <td>    <?php echo"$row[verwalt_name]";?>,<?php echo"$row[verwalt_zusatz]";?></td>
        <td><div align="right">
        <?php 
        $query2 
="SELECT  SUM(wohnung_brutto)
        FROM haus,wohnung,wohnungsmiete
        WHERE haus.haus_id=wohnung.haus_id
        AND wohnung.wohnung_id=wohnungsmiete.wohnung_id
        AND verwalt_id=$row[verwalt_id]
        AND wohnung_zinsab<'$heute' 
        order by wohnung_zinsab desc"
;
        
$result2=mysql_query($query2) or die ("MySQL-Error: " mysql_error());
        
$summe mysql_result($result20);
        echo 
$summe?>
?>
Sonja ist offline  
Alt 27.03.2006, 16:44  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

... JOIN ... könnte dir da weiter helfen ...

Zitat:
Zitat von Sonja
Aber immer noch mit 2 Select!
M3g4Star ist offline  
Alt 27.03.2006, 17:33  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

SELECT verwalt_name, verwalt_zusatz, verwalt.verwalt_id, SUM(wohnung_brutto)
FROM verwalt INNER JOIN haus ON verwalt.verwalt_id=haus.verwalt_id
INNER JOIN wohnung ON wohnung.haus_id=haus.haus_id
INNER JOIN wohnungsmiete ON wohnung.wohnung_id=wohnungsmiete.wohnung_id
WHERE wohnung_zinsab<'$heute'
GROUP BY verwalt.verwalt_id
ORDER BY wohnung_zinsab desc


so in etwa (ungetestet)
__________________
Entwickler aus Leidenschaft und ein Zahnrad in einem der größten Java-Projekte der Welt.
mepeisen ist offline  
 


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
[gelöst] Zahlen sortieren mit Varchar moose Datenbanken 8 21.07.2008 13:53
Zahlen mit 0 darstellen? GSJLink PHP Tipps 2007 5 02.04.2007 11:05
Vorkommnisse eines Begriffs in einem Tabellfeld zählen R4v3r Datenbanken 2 06.02.2007 18:19
Zahlen (Double) formatiert darstellen Marie PHP Tipps 2007 2 24.01.2007 22:32
Doppelte Einträge nur einmal Zählen Zangelo Datenbanken 2 06.12.2006 17:41
Zahlen filtern die mit 1 enden $$$ ThiKool $$$ PHP Tipps 2006 4 27.09.2006 13:30
Brauche Funktion um Strings aus einer txt-Datei zu zählen mark_gebert PHP Tipps 2006 11 16.08.2006 14:30
Zahlen effektiv verschlüsseln Jacks Rache PHP Tipps 2006 20 10.07.2006 01:44
Zahlen eintragen Skazi Datenbanken 6 23.01.2006 09:10
Abfrage nur bei Zahlen? BartTheDevil89 Datenbanken 3 27.11.2005 13:21
Wie prüfe ich einen String ob nur Zahlen enthalten sind ? PHP Tipps 2005 7 31.05.2005 13:02
Zahlen aus Array löschen, die größer (kleiner) sind als X R4v3r PHP Tipps 2005 5 06.03.2005 19:00
[Erledigt] Bestimmte Zahlen in zufälliger Reihenfolge ausgeben PHP Tipps 2004 12 15.09.2004 20:04
[Erledigt] Zählen wie viele Arrays bereits diesen Wert haben PHP Tipps 2004 6 04.09.2004 01:04
[Erledigt] &quot;echte&quot; Downloads zählen: wie geht sowas? PHP Tipps 2004 22 28.06.2004 09:50

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
zahlen zusammenzählen, ich möchte zahlen zusammenzählen, mysql summe ausgeben, mysql sum() zählt doppelt, db select zusammenzählen, zahlen von bis zusammenzählen, mysql sum zaehlt falsch, zahlen zusammen zählen, php mysql sum quelltext, zusammenzählen php, mysql select query join summe bestimmter werte

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