[PHP5] Auswertung MySQL

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [PHP5] Auswertung MySQL

    Hallo,

    ich möchte gerne eine aus meiner MySQL DB Werte zusammenführen !

    Meine DB hat die Struktur:

    pnr, pos, stunden , datum

    3333 , 2 , 2.95, '2007-02-20'
    3333, 1, 12.80, '2007-01-15'
    3333, 1, 1.00, '2007-01-15'

    4444, 2, 45.00, '2007-02-27'
    4444, 1, 4.00, '2007-01-33'
    4444, 2, 88.00, '2007-02-27'

    Möchte jetzt die Gesamtsunden pro pnr pro pos ermitteln !

    Ergebnis sollte aussehen :

    4444 , 2, 132.00, '2007-02-27'
    4444, 1, 4.00, '2007-01-33'
    3333, 1, 13.80, '2007-01-15'
    3333 , 2 , 2.95, '2007-02-20'

    Habe eine Fehlermeldung :

    Parse error: syntax error, unexpected $end in C:\typo\htdocs\Testsite\index.php on line 108 ist das Ende des Quellcodes ????


    PHP-Code:
    <?php

    //include("OPEN.INC.PHP4"); //include_path='/usr/share/php'

    $arrayMonate     = array (=>         array(    "jahr"      => "2007",  //parse ERROR test.php on line 6
                                            
    'monat'    => 'Januar',
                                            
    'start'    => '2007-01-01',
                                            
    'ende'    => '2007-01-31'    ),

                    
    1    =>    array(    'jahr'      => '2007',
                                
    'monat'     => 'Februar',
                                
    'start'    => '2007-02-01',
                                
    'ende'    => '2007-02-28'),

                    
    2    =>    array(  'jahr' => '2007',
                                  
    'monat' => 'März',
                                  
    'start' => '2007-03-01',
                                  
    'ende'  => '2007-03-31')    );

    echo 
    $arrayMonate;

    $host="localhost:8501";
    $user="root";
    $pwd="";
    $mysqldb="zeiterf";

    $conn=mysql_connect($host,$user,$pwd) or die ("Verbindung fehlgeschlagen" mysql_error());

    mysql_select_db($mysqldb$conn) or die ("Konnte die Datenbank nicht waehlen.");
    echo 
    "Verbindung erfolgreich";
     

    $table="auswertung";

    $sqlf=("SELECT DISTINCT pos FROM auswertung ORDER BY pos ASC");
    $resultf mysql_query($sqlf$conn);

    $sqla=("SELECT pnr FROM auswertung WHERE pos = ' ".$value." '");
    $resulta mysql_query($sqla$conn);


    #while($row  =  mysql_fetch_array($resultf))
    #    {
    #     printf ("pos: %s  pnr: %s", $row[0], $row[1]);
    #    }
    # mysql_close($conn);


    foreach($arrayPos as $key => $value){
    while(
    $rowa  =  mysql_fetch_array($resulta))          //fetchen
        
    {
         
    printf ("pos: %s  pnr: %s"$rowa[0], $rowa[1]);
        }
     foreach(
    $ergebnis as $a => $b){

            
    $arrayPosPnr[$value][$b];
            
    $i++;
        }

    mysql_close($conn);


    $sqlstd=("SELECT SUM(stunden) AS AnzStunden FROM auswertung WHERE
     pnr = ' "
    .$pnr." ' AND datum >= ' ".$datum['start']." ' AND datum 
    <= ' "
    .$datum['ende']." '");
    $resultstd mysql_query($sqlstd$conn);
    // Alle Positionen durcvhlaufen /
    foreach( $arrayPosPnr as $pos => $value ){

        
    // Zu jeder Position alle Mitarbeiter durchlaufen /
        
    foreach($value as $pnr){

            
    // Zu jedem Mitarbeiter die Stunden für jeden Monat ausrechnen /
            // Dafür das Monatsarray durchlaufen /
            
    foreach($arrayMonate as $c => $datum){


                 
    # while($sqlstd  =  mysql_fetch_array($resultstd))                    // fetchen
                  #
                   #  {
                    # printf ("pos: %s  pnr: %s", $sqlstd[0], $sqlstd[1]);
                     #   }


                
    $GESAMT[$pos][$pnr]['Stunden'] = $ergebnis[0]['AnzStunden'];
                
    $GESAMT[$pos][$pnr]['monat']    = $datum['jahr']." - ".$datum['monat'];
            }
        }


    foreach(
    $arrayPosPnr as $key => $value){

        foreach(
    $value as $a){

         echo 
    $key//(die positionsnummer)
         
    echo $value//(die pnr)
         
    echo $value['Stunden'];
         echo 
    $value['monat'];

        }
    }
    ?>
    EDIT:

    Ist es denn zuviel verlangt die PHP Tags zu verwenden **wall**

    Zuletzt geändert von jahlives; 11.03.2008, 12:30.

  • #2
    PHP-Code entsprechend der Regeln mit PHP-Tags markieren. Dann wirst du bestimmt einen Klammer- oder Anführungszeichenfehler finden!

    Kommentar


    • #3
      dank der herausragenden formatierung kann ichs nicht ganz überblicken,
      aber so im drüberfliegen würde ich meinen da felt ne geschweifte klammer

      Kommentar


      • #4
        Ich weiss nicht, was dein Code alles machen soll (wenn du ihn noch formatierst, schaue ich auch noch an), aber für das, was in der Beschreibung steht, müsste das Folgende genügen:
        PHP-Code:
        <php
        // Verbindung etc
        $sql "
            SELECT
                pnr,
                pos,
                SUM(stunden) stunden,
                datum
            FROM 
                auswertung
            GROUP BY
                pnr,
                pos
            ORDER BY 
                pos ASC"
        ;
        $result mysql_query($sql) || die(mysql_error());

        while(
        $row mysql_fetch_row($result)) //fetchen{
            
        printf ("pos: %4d pnr: %2d Stunden: %3.2f Datum: %s<br />"$row[0], $row[1], $row[2], $row[3]);
        }
        ?> 
        Das Datum ist dabe allerdings (wie bei dir auch) ein Zufallswert, ausser es ist immer für alle pnr/pos-Kombinationen gleich
        Gruss
        H2O

        Kommentar

        Lädt...
        X