php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 05-05-2010, 14:41
bufffuchs
 Registrierter Benutzer
Links : Onlinestatus : bufffuchs ist offline
Registriert seit: Mar 2010
Beiträge: 14
bufffuchs befindet sich auf einem aufstrebenden Ast
Standard php berechnung

hy, ich habe bis jetzt ein array was so aussieht

[0] id_user = 1
pkt = 1
[1] id_user = 2
pkt = 2
[3] id_user = 3
pkt = 3
[4] id_user = 1
pkt = 3
[5] id_user = 2
pkt = 1
[6] id_user = 3
pkt = 2
........
jetzt zu meiner frage.

ich wollte gern berechnen lassen wieviel pkt der user 1,2 und 3 hat und dieses in das vorhandene array einfügen

id_user und punkte kommen in jedem array nur 1 mal vor
Mit Zitat antworten
  #2 (permalink)  
Alt 05-05-2010, 14:46
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

Zitat:
Zitat von bufffuchs Beitrag anzeigen
hy, ich habe bis jetzt ein array was so aussieht
Ist da jeweils ein Zeilenumbruch dawischen?

Zitat:
Zitat von bufffuchs Beitrag anzeigen
ich wollte gern berechnen lassen wieviel pkt der user 1,2 und 3
Zusammengenommen oder einzeln?

Zitat:
Zitat von bufffuchs Beitrag anzeigen
und dieses in das vorhandene array einfügen
Welches ist das vorhandene? Das gepostete? Da stehen die doch schon drin.

Wie du siehst, ist eine genaue und nachvollziehbare Beschreibung des Problems/Anliegens der Hauptfaktor für eine schnelle und hilfreiche Antwort.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 05-05-2010, 15:13
bufffuchs
 Registrierter Benutzer
Links : Onlinestatus : bufffuchs ist offline
Registriert seit: Mar 2010
Beiträge: 14
bufffuchs befindet sich auf einem aufstrebenden Ast
Standard

upps
zum besseren verständnis hier mal der link wo das array auftaucht
Formel

die punkte soll er anhand der fahrer_id zusammen zählen, also anzeigen wieviel punkte jede id bis jetzt hat und wieder ins array als neuen row einfügen.

hier mal der php code
PHP-Code:
$sql=mysql_query("SELECT
                            e.h_pkt,
                            pkt.saison,
                            e.idf1_strecke,
                            f.idf1_fahrer,
                            f.name as fahrer,
                            e.platz,
                            pkt.punkte as gesamt,
                            st.name as strecke
                            from $ergebnis as e
                            Left join $fahrer as f on f.idf1_fahrer = e.idf1_fahrer
                            left join $punkte as pkt on pkt.platz = e.platz
                            left join $strecke as st on st.idf1_strecke = e.idf1_strecke
                            where e.jahr = 2010
                            order by idf1_strecke, e.platz ASC

                            "
);

echo 
mysql_error();
$wm_fahrer = array();
while(
$row=mysql_fetch_assoc($sql)){
    
$row['fahrer_id'] = $row['idf1_fahrer'];
    
$row['punkte'] = $row['gesamt'];

    
    
array_push($wm_fahrer,$row);


Mit Zitat antworten
  #4 (permalink)  
Alt 05-05-2010, 15:38
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von bufffuchs Beitrag anzeigen
zum besseren verständnis hier mal der link wo das array auftaucht
Das Favicon macht mich ganz kirre. Schlimm, echt nervig... SCNR

Meinst du zufällig sowas wie Gruppenwechsel? Kannst du mal an einem Beispiel erläutern, was passieren soll? Entweder ist es so leicht, dass ich nicht verstehe, warum du Hilfe brauchst oder ich hab es immer noch nicht ganz verstanden, was du jetzt meinst.

Wenn du von neuer Row sprichst, meinst du damit nur das Array oder soll die auch in die DB?

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #5 (permalink)  
Alt 05-05-2010, 17:43
bufffuchs
 Registrierter Benutzer
Links : Onlinestatus : bufffuchs ist offline
Registriert seit: Mar 2010
Beiträge: 14
bufffuchs befindet sich auf einem aufstrebenden Ast
Standard

favi fetzt
im i.e ist es nicht da
also.
zur zeit sieht das array ja so aus
....
[2] => Array(
[h_pkt] => 1
[saison] => 2010
[idf1_strecke] => 1
[idf1_fahrer] => 2
[fahrer] => Lewis Hamilton
[platz] => 3
[gesamt] => 15
[strecke] => Bahrain GP
[fahrer_id] => 2
[punkte] => 15
...

jetzt soll er es so berechnen das
in dem array unten dran steht [gesamt] => bsp. 34
erechnet aus dem gesamten array anhand der fahrer_id, was aus der db kommt
zb:
[2] => Array(
[h_pkt] => 1
[saison] => 2010
[idf1_strecke] => 1
[idf1_fahrer] => 2
[fahrer] => Lewis Hamilton
[platz] => 3
[gesamt] => 15
[strecke] => Bahrain GP
[fahrer_id] => 2
[punkte] => 15
[gesamt] => 34
...
Mit Zitat antworten
  #6 (permalink)  
Alt 05-05-2010, 18:34
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Den Key gesamt gibt es schon. Das ist aber was anderes, oder? Nennen wir das was du meinst mal gesamt2:

PHP-Code:
<?php
    
foreach ($array as $k1 => $v1) {
        foreach (
$array as $k2 => $v2) {
            if (
$v1["idf1_fahrer"] == $v2["idf1_fahrer"]) {
                if (isset(
$v1["gesamt2"])) {
                    
$v1["gesamt2"] += $v2["punkte"];
                }
                else {
                    
$v1["gesamt2"] = $v2["punkte"];
                }
            }
        }
    }
?>
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (05-05-2010 um 18:38 Uhr) Grund: Code korrigiert
Mit Zitat antworten
  #7 (permalink)  
Alt 05-05-2010, 18:51
bufffuchs
 Registrierter Benutzer
Links : Onlinestatus : bufffuchs ist offline
Registriert seit: Mar 2010
Beiträge: 14
bufffuchs befindet sich auf einem aufstrebenden Ast
Standard

also entweder icke bin blöd oder es geht nichts
habe den vode jetzt an der stelle eingfügt

PHP-Code:
$sql=mysql_query("SELECT
                            e.h_pkt,
                            pkt.saison,
                            e.idf1_strecke,
                            f.idf1_fahrer,
                            f.name as fahrer,
                            e.platz,
                            pkt.punkte as gesamt,
                            st.name as strecke
                            from $ergebnis as e
                            Left join $fahrer as f on f.idf1_fahrer = e.idf1_fahrer
                            left join $punkte as pkt on pkt.platz = e.platz
                            left join $strecke as st on st.idf1_strecke = e.idf1_strecke
                            where e.jahr = 2010
                            order by idf1_strecke, e.platz ASC

                            "
);

echo 
mysql_error();
$wm_fahrer = array();
while(
$row=mysql_fetch_assoc($sql)){
    
$row['fahrer_id'] = $row['idf1_fahrer'];
    
$row['punkte'] = $row['gesamt'];
    foreach (
$wm_fahrer as $k => $v) {
        if (isset(
$v["gesamt2"])) {
            
$v["gesamt2"] += $v["punkte"];
        }
        else {
            
$v["gesamt2"] = $v["punkte"];
        }
    }

    
array_push($wm_fahrer,$row);


    

wenn ich jetzt das ausgeben lasse
PHP-Code:
        echo "Das Element " $k " enthält den Wert: " $v "<br>"
kommt
Das Element 38 enthält den Wert: Array
Mit Zitat antworten
  #8 (permalink)  
Alt 05-05-2010, 19:14
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Das Array über das du läufst, wird doch in deiner while-Schleife gerade erst erzeugt, das bringt so gar nichts. Am einfachsten in deinen Code zu integrieren wäre es, wenn du das komplett nach deiner while-Schleife machst und $array durch $wm_fahrer ersetzt, aber alles andere so lässt.

Kann es sein, dass du meine erste Version genommen hast? Ich hatte es 3 Minuten später nochmal korrigiert.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #9 (permalink)  
Alt 05-05-2010, 19:40
bufffuchs
 Registrierter Benutzer
Links : Onlinestatus : bufffuchs ist offline
Registriert seit: Mar 2010
Beiträge: 14
bufffuchs befindet sich auf einem aufstrebenden Ast
Standard

stimmt habe ich genommen
habe es jetzt mal hinter die while schleife gesetzt und die ausgabe mit echo wieder gemacht

PHP-Code:
$sql=mysql_query("SELECT
                            e.h_pkt,
                            pkt.saison,
                            e.idf1_strecke,
                            f.idf1_fahrer,
                            f.name as fahrer,
                            e.platz,
                            pkt.punkte as gesamt,
                            st.name as strecke
                            from $ergebnis as e
                            Left join $fahrer as f on f.idf1_fahrer = e.idf1_fahrer
                            left join $punkte as pkt on pkt.platz = e.platz
                            left join $strecke as st on st.idf1_strecke = e.idf1_strecke
                            where e.jahr = 2010
                            order by idf1_strecke, e.platz ASC

                            "
);

echo 
mysql_error();
$wm_fahrer = array();
while(
$row=mysql_fetch_assoc($sql)){
    
$row['fahrer_id'] = $row['idf1_fahrer'];
    
$row['punkte'] = $row['gesamt'];



    
array_push($wm_fahrer,$row);

}
foreach (
$wm_fahrer as $k1 => $v1) {
    foreach (
$wm_fahrer as $k2 => $v2) {
        if (
$v1["idf1_fahrer"] == $v2["idf1_fahrer"]) {
            if (isset(
$v1["gesamt2"])) {
                
$v1["gesamt2"] += $v2["punkte"];
            }
            else {
                
$v1["gesamt2"] = $v2["punkte"];
            }
        }
    }
}
$smarty->assign('date',$date);//postvar an smarty übergeben
$smarty->assign('wm_fahrer',$wm_fahrer);

echo 
"Das Element " $k1 " enthält den Wert: " $v1 "<br>"
kommt das selbe
FormelDas Element 39 enthält den Wert: Array
Mit Zitat antworten
  #10 (permalink)  
Alt 05-05-2010, 19:50
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Na ist doch aber weithin bekannt, dass man Arrays nicht mit echo ausgeben kann. Warum nimmst du nicht print_r, um zu sehen, was drin steht?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #11 (permalink)  
Alt 05-05-2010, 20:03
bufffuchs
 Registrierter Benutzer
Links : Onlinestatus : bufffuchs ist offline
Registriert seit: Mar 2010
Beiträge: 14
bufffuchs befindet sich auf einem aufstrebenden Ast
Standard

habs jetzt so

PHP-Code:
$wm_fahrer = array();
while(
$row=mysql_fetch_assoc($sql)){
    
$row['fahrer_id'] = $row['idf1_fahrer'];
    
$row['punkte'] = $row['gesamt'];
    
array_push($wm_fahrer,$row);

}
foreach (
$wm_fahrer as $k1 => $v1) {
    foreach (
$wm_fahrer as $k2 => $v2) {
        if (
$v1["idf1_fahrer"] == $v2["idf1_fahrer"]) {
            if (isset(
$v1["gesamt2"])) {
                
$v1["gesamt2"] += $v2["punkte"];
            }
            else {
                
$v1["gesamt2"] = $v2["punkte"];
            }
        }
    }
print_r"Das Element " $k1 " enthält den Wert: " $v1["gesamt2"] . "<br>");
$smarty->assign('k1',$v1["gesamt2"]);
}

$smarty->assign('date',$date);//postvar an smarty übergeben
$smarty->assign('wm_fahrer',$wm_fahrer); 
geht also
danke dir.

jetzt habe ich noch das problem, wie bekomme ich die werte in meine tpl.

ind der tpl sieht es ja so aus zur zeit

PHP-Code:
{foreach from=$wm_fahrer item='fa'}
    <
tr>
        <
td>{$fa.fahrer}</td>
    </
tr>
{/foreach} 
wie bekomm ich jetzt zu dem fahrer die dazugehörige gesamtpunktzahl ?

ich weiss, fragen über fragen
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
berechnung dani_o PHP Developer Forum 5 18-11-2005 12:30
Berechnung steiner82 HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 9 16-11-2005 17:17
Berechnung steiner82 PHP Developer Forum 2 15-11-2005 08:55
Berechnung steiner82 PHP Developer Forum 44 01-06-2005 10:41
php berechnung deepsnowdiver PHP Developer Forum 2 08-01-2003 17:03

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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

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