Komplezierte Arrysortierung mehrdimensional

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Komplezierte Arrysortierung mehrdimensional

    Hallo,

    ich komme mit meiner Arreysortierung nicht richtig klar.
    Vieleicht kann mir von euch jemand einen Tip geben.
    Ich lese aus einer Datenbank daten in ein mehrdimensionales Array.
    Die inhalte sind floadzahlen.
    Eine Besonderheit ist das er abhängig vom Datum den Inhalt aufzählen kann.

    PHP Code:
    $arrayinnenwert 0;
    $arraywert "";
    $casedatum "";
    $dsanzahl 1;
    while(
    $suchdaten mysql_fetch_array($suchdaten2))
        {
            if (
    $casedatum == "")
            {        
                
    $casedatum $suchdaten['umsatzdatum'];
                
    $arraywert[$arrayinnenwert][0] = 1;
                
    $arraywert[$arrayinnenwert][1] = $suchdaten['datumsort'];
                
    $arraywert[$arrayinnenwert][2] = $suchdaten['umsatzdatum'];
                
    $arraywert[$arrayinnenwert][3] = $suchdaten['service'];
                
    $arraywert[$arrayinnenwert][4] = $suchdaten['kauf'];
                
    $casearrayinnenwert $arrayinnenwert;
                
    $arrayinnenwert ++;
            }
            else
            {
                if (
    $casedatum == $suchdaten['umsatzdatum'])
                {
                    
    $wert1 $arraywert[$casearrayinnenwert][3];
                    
    $wert2 $arraywert[$casearrayinnenwert][4];
                    
    $wert1 $wert1 $suchdaten['service'];
                    
    $wert2 $wert2 $suchdaten['kauf'];
                    
    $arraywert[$casearrayinnenwert][3] = $wert1;
                    
    $arraywert[$casearrayinnenwert][4] = $wert2;            
                }
                else
                {
                    
    $casedatum $suchdaten['umsatzdatum'];
                    
    $arraywert[$arrayinnenwert][0] = $casearrayinnenwert 1;
                    
    $arraywert[$arrayinnenwert][1] = $suchdaten['datumsort'];
                    
    $arraywert[$arrayinnenwert][2] = $suchdaten['umsatzdatum'];
                    
    $arraywert[$arrayinnenwert][3] = $suchdaten['service'];
                    
    $arraywert[$arrayinnenwert][4] = $suchdaten['kauf'];
                    
    $casearrayinnenwert $arrayinnenwert;
                    
    $arrayinnenwert ++;
                }
            }
        
    $dsanzahl++;
        } 
    Ich möchte jetzt das Array sortieren. Im Arraybereich
    $arraywert[$arrayinnenwert][3]------dritter Bereich
    stehen Zahlenwerte in unterschiedlicher größe
    Ich möchte diese auf und abwärts sortieren können.
    Dabei müssen auch in Abhängigkeit die anderen Bereiche mitgezogen werden

    Beispiel: vor sortierung
    $arraywert[0][0] inhalt 1
    $arraywert[0][1] inhalt 20050101
    $arraywert[0][2] inhalt 01.01.2005
    $arraywert[0][3] inhalt 14.22
    $arraywert[0][4] inhalt 34

    $arraywert[1][0] inhalt 2
    $arraywert[1][1] inhalt 20050110
    $arraywert[1][2] inhalt 10.01.2005
    $arraywert[1][3] inhalt 234.45//--sortierabhängigkeit
    $arraywert[1][4] inhalt 18

    $arraywert[2][0] inhalt 3
    $arraywert[2][1] inhalt 20050114
    $arraywert[2][2] inhalt 14.01.2005
    $arraywert[2][3] inhalt 2.50
    $arraywert[2][4] inhalt 0

    Nach sortierung dann so bei aufwarts

    $arraywert[0][0] inhalt 2
    $arraywert[0][1] inhalt 20050110
    $arraywert[0][2] inhalt 10.01.2005
    $arraywert[0][3] inhalt 234.45
    $arraywert[0][4] inhalt 18

    $arraywert[1][0] inhalt 1
    $arraywert[1][1] inhalt 20050101
    $arraywert[1][2] inhalt 01.01.2005
    $arraywert[1][3] inhalt 14.22
    $arraywert[1][4] inhalt 34

    $arraywert[2][0] inhalt 3
    $arraywert[2][1] inhalt 20050114
    $arraywert[2][2] inhalt 14.01.2005
    $arraywert[2][3] inhalt 2.50
    $arraywert[2][4] inhalt 0

    Ist das eigendlich möglich denn multisort geht nicht

    Danke
    AV

  • #2
    IMHO gibt es was von mrhappiness im Codeschnipsel, such mal.

    Comment


    • #3
      Ich kenne diese Metodic
      Die hilft mir nicht weiter da sie nur Spaltenweise sortiert undzwar nur das in zum Beispiel in Spalte 3

      Bei mir müssen aber unter diese abhängigkeit auch die anderen Spalten mitgezogen werden.

      Ich kann mir sicher eine logarytmische funktion bauen die aus dem alten array ein neues generiert aber das kann ja nicht die Lösung sein.
      Es sollte doch irgendwie einfacher gehen

      Danke
      AV

      Comment


      • #4
        Original geschrieben von vossy123
        Ich kenne diese Metodic
        Die hilft mir nicht weiter da sie nur Spaltenweise sortiert undzwar nur das in zum Beispiel in Spalte 1 und 2 getrennt

        Bei mir müssen aber unter diese abhängigkeit auch die anderen Spalten mitgezogen werden.

        Ich kann mir sicher eine logarytmische funktion bauen die aus dem alten array ein neues generiert aber das kann ja nicht die Lösung sein.
        Es sollte doch irgendwie einfacher gehen

        Danke
        AV

        Comment


        • #5
          hat denn keiner eine Idee??

          AV

          Comment


          • #6
            Wüsste jetzt nicht, was daran so schwer ist, da mal eben ne fkt zu schreiben,

            zur not mit nem hilfsarray.

            Comment


            • #7
              eine Class zu bauen ist nicht das problem aber da
              ich unter Zeitdruck stehe hätte es seien können das es einfacher geht

              Dennoch danke

              AV

              Comment


              • #8
                naja, ne kleine funktion reicht da in meinen augen vollkommenn.

                Comment

                Working...
                X