Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Bitte um Hilfe bei Array Sortierung

    Bcoola

    • Schreiberling
    • Beiträge: 412
    Bitte um Hilfe bei Array Sortierung
    am: 31. Januar 2011, 14:35:33
    Hi,
    ich habe einige zusätzliche Datenbankfelder für unsere Produkte, wie z.B. Verpackungsmaße.
    In der Datei new_product.php müsste ich diese Felder jetzt auslesen und daraus das Gurtmass errechnen.

    Folgendes habe ich bisher erreicht:
    ich habe (ca. zeile 73) nach  

    Code: PHP  [Auswählen]
    $tax_class_array = array (array ('id' => '0', 'text' => TEXT_NONE));....}
    folgendes eingefügt:

    Code: PHP  [Auswählen]
    // Gurtmass berechnen
    $gurtmass_query = xtc_db_query("select products_boxlength, products_boxwidth, products_boxhight from ".TABLE_PRODUCTS." WHERE products_id = '".(int) $_GET['pID']."'");
    while ($gurtmass_class = xtc_db_fetch_array($gurtmass_query))
    {
        $gurt[] = array($gurtmass_class['products_boxlength'],$gurtmass_class['products_boxwidth'],$gurtmass_class['products_boxhight']);
        var_dump($gurt);
    }
        arsort($gurt);
        var_dump($gurt);
    //$gurtmass = ($gurt[0]+((2*$gurt[1])+(2*$gurt[2])));  // 1x längste Seite + 2x jede andere Seite
     
    Jedoch funktioniert die Sortierung einfach nicht, und ich habe mir auch schon entsprechende Smarty Hilfen angesehen, bekomme es aber nicht gebacken.
    Wäre super wenn mir jemand helfen könnte die Sortierung auf die Reihe zu bekommen.



    Linkback: https://www.modified-shop.org/forum/index.php?topic=10937.0
    Trade Republic - Provisionsfrei Aktien handeln

    cYbercOsmOnauT

    • modified Team
    • Beiträge: 914
    • Geschlecht:
    Bitte um Hilfe bei Array Sortierung
    Antwort #1 am: 31. Januar 2011, 14:39:12
    Hallo Ben,

    Nach was genau soll sortiert werden? Nach dem sog. Gurtmaß? Oben arbeitest Du ausserdem mit einem assoziativen Array und weiter unten in der auskommentierten Zeile mit einem indizierten.

    Also Du willst die Werte in $gurt speichern aber nach dem berechneten Gurtmaß sortieren. Habe ich das richtig verstanden?

    Grüße,
    Tekin

    Viele Grüße,
    Tekin Birdüzen - Zend Certified Engineer

    Bcoola

    • Schreiberling
    • Beiträge: 412
    Bitte um Hilfe bei Array Sortierung
    Antwort #2 am: 31. Januar 2011, 14:45:42
    Hallo Cybercosmonaut,

    es soll nach der Grösse sortiert werden.
    Es werden jeweils 3 Werte eingelesen (länge, höhe, breite des Kartons), diese sollen dann nach der Grösse sortiert werden, und daraus würde ich dann das Gurtmass berechnen.
    Gurtmass = 1x den grössten Wert + (2x den nächsten) + (2x den letzten Wert)

    Danke!

    cYbercOsmOnauT

    • modified Team
    • Beiträge: 914
    • Geschlecht:
    Bitte um Hilfe bei Array Sortierung
    Antwort #3 am: 31. Januar 2011, 15:19:03
    Achso. Du brauchst also keinen Array sondern willst lediglich die Werte sortieren um die Berechnung des Gurtmaß vornehmen zu können. Genauer gesagt musst Du nur wissen welcher Wert der größte ist. Die anderen beiden werden ja sowieso x2 gerechnet.

    Bcoola

    • Schreiberling
    • Beiträge: 412
    Bitte um Hilfe bei Array Sortierung
    Antwort #4 am: 31. Januar 2011, 15:19:38
    korrekt - genau das ...

    Matt

    • Experte
    • Beiträge: 4.241
    Bitte um Hilfe bei Array Sortierung
    Antwort #5 am: 31. Januar 2011, 15:24:02
    Du willst folgendes schreiben:

    Code: PHP  [Auswählen]
    $gurt = array($gurtmass_class['products_boxlength'],$gurtmass_class['products_boxwidth'],$gurtmass_class['products_boxhight']);
    Das ergibt:

    Code: PHP  [Auswählen]
    Array
    (
        [0] => laenge
        [1] => breite
        [2] => hoehe
    )
    während dein aktueller Code ergibt:

    Code: PHP  [Auswählen]
    Array
    (
        [0] => Array
            (
                [0] => laenge
                [1] => breite
                [2] => hoehe
            )

    )
    Derzeit baust du dir nämlich ein mehrdimensionales Array, von dem du immer den ersten Eintrag sortierst. Und da es nur einen Eintrag gibt kannst du sortieren so lange du lustig bist ohne eine Änderung zu erreichen.

    cYbercOsmOnauT

    • modified Team
    • Beiträge: 914
    • Geschlecht:
    Bitte um Hilfe bei Array Sortierung
    Antwort #6 am: 31. Januar 2011, 15:32:16
    Okay.. da ich es nun kapiert hab seh ich auch Deinen (winzigen) Fehler.

    Anstelle von arsort musst Du rsort nehmen. Danach sollte es gehen.

    Grüße,
    Tekin

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Bitte um Hilfe bei Array Sortierung
    Antwort #7 am: 31. Januar 2011, 16:14:15
    Das ist hier ja eine richtige Linuxcrew. :D

    Bcoola

    • Schreiberling
    • Beiträge: 412
    Bitte um Hilfe bei Array Sortierung
    Antwort #8 am: 31. Januar 2011, 17:00:12
    danke Euch allen!

    sodale - jetzt geht's natürlich - wenn ich die [ ] weglasse.... aaaaahhhhhh!

    Danke für Eure Hilfe!

    :doh: :worship:

    grrr... immer diese copy & paste fehler...   hehe

    TeeBlume

    • Fördermitglied
    • Beiträge: 71
    • Geschlecht:
    Re: Bitte um Hilfe bei Array Sortierung
    Antwort #9 am: 28. Juli 2012, 22:05:38
    Hi Ben,

    hast Du Deinen Ansatz erfolgreich umgesetzt? Vermutlich gehts um Hermes/GLS Versandkosten.

    Ich probiere etwas ähnliches mit Produktvolumen.
    - Für jeden Artikel das Volumen berechnen
    - Volumengewicht ermitteln mit Vg = (LxBxH)/6000
    - Vergleichen, in welche Hermes Paketklasse (S M L) es passt.

    Bei einem Sortiment mit ähnlichen Dimensionen (annähernd quadratischer Querschnitt) funktioniert das auch. Bei den anderen Größen (geringe Höhe, größere Länge) ist das bisher unbefriedigend.

    Vielleicht hast Du einen Tipp?

    Gruß TeeBlume
    2 Antworten
    2084 Aufrufe
    25. Mai 2011, 22:23:52 von bkabel
    10 Antworten
    4657 Aufrufe
    26. Mai 2015, 17:56:26 von web0null
               
    anything