Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Suche Wert anhand bestimmter Kriterien

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Suche Wert anhand bestimmter Kriterien

    Hi,

    ich brauche mal ein Denkanstoß, da ich nachfolgendes noch nicht wirklich umsetzen kann.

    Also:
    Gehen wir davon aus, das ein Produkt 15,00 Euro kostet.
    Ich möchte nun ein Preisvorschlag für diesen Wert haben.

    Hierzu habe ich bereits ein array, das wie folgt aussieht:

    Code:
    (
        [11] => 150
        [21] => 100
        [31] => 80
        [41] => 70
    ...
    ..
    .
    )
    Ich brauche nun eine Sytnax, die die 15 Euro nimmt und den Wert raussucht, wo besagte 15 euro reinfallen.
    In diesem Sinne in die 11, weil ja 21 größer ist als 15

    Mir fehlt jetzt einfach ein Befehl, der mir das ganze ermittelt.

    So ganz spontan gedacht hab ich mir das zusammengebaut, was aber nur eine weiße Seite zurückgibt.

    PHP-Code:
        foreach(    ($data['price']['value']/100)     as $price)
            {  
    $value = ($price =< key($vorschlag));    }
            echo 
    $value


  • #2
    ..die 11 im Array ist doch auch größer?!?! Verstehe gerade nicht genau, was Du willst!

    Willst Du den größeren und kleineren Wert bestimmen, der eingegebenen Zahl?! Was soll den jetzt genau ermittelt werden? Wird das Array dynamisch z.B. aus einer Datenbank befüllt?

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Du meinst du willst alle Arrayelemente herausfinden wo der Key/Index kleiner gleich 15 ist? In dem Fall also nur der Eintrag 11 => 150?

      Was steht den in dem Array? Wofür ist die 11 und wofür die 150? Wenn 11 wirklich der Preis ist und du zwei Produkte mit dem selben Preis hast würden die sich ja überschreiben in dem Array?!?

      Ansonsten:

      PHP-Code:
      <?php
      $max 
      15;
      $werte = array(); // das Array mit den Werten oben
      $neueWerte = array();
      foreach (
      $werte as $key => $value) {
        if (
      $key <= $max) { 
          
      $neueWerte[$key] = $value;
        }
      }

      Kommentar


      • #4
        Zitat von wolf29 Beitrag anzeigen
        ..die 11 im Array ist doch auch größer?!?! Verstehe gerade nicht genau, was Du willst!
        korrekt... aber kleiner als die kommende 21. Ich habe ja auch mit "ist gleich" oder "kleiner als" operiert.

        Ziel ist es auf die 150 zu kommen. Sprich auf die key = 11.

        Ich wäre ja der Meinung, das dieser Befehlsaufbau korrekt sei.

        PHP-Code:
        $value = ($price =< key($vorschlag));     // 15 =< 21

        evtlauch so

        $value 
        = ($price =< array(key($vorschlag)));     // 15 =< 21 
        Aber irgendwie sind das alles Spielerein, in der Hoffnung, das irgendwann mal das korrekte rauskommt. Hatte anfänglich auch schon mit "in_array" rumgespielt.

        Zitat von wolf29 Beitrag anzeigen
        Wird das Array dynamisch z.B. aus einer Datenbank befüllt?
        Nein... aus der confic.inc Datei. Bei SQL hätte ich es über die WHERE Klausel elegant lösen können.

        Kommentar


        • #5
          Was genau willst du denn jetzt? So wirklich eindeutig erklärt hast du das noch nicht. Alle Arraywerte deren Schlüssel kleiner als 15 sind? Bitte drück dich mal klar aus: auf 150 zu kommen kann alles mögliche bedeuten!

          Kommentar


          • #6
            Mir sind die Zahlen jeweils auch noch unklar. Wenn die Problematik so ist, wie Flor1an beschrieben hat, dann dürfte sein Beitrag die Lösung sein, oder?

            Wolf29
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              Zitat von wolf29 Beitrag anzeigen
              Mir sind die Zahlen jeweils auch noch unklar. Wenn die Problematik so ist, wie Flor1an beschrieben hat, dann dürfte sein Beitrag die Lösung sein, oder?

              Korrekt... mit eine kleine erweiterung war dies auch die Lösung.
              Denn wenn der Preis (z.B. 10) kleiner ist als die Werte Tabelle gibt es keinen Output.

              PHP-Code:
              $werte $vorschlag
              $neueWerte = array();
              foreach (
              $werte as $key => $value
              {
                  if (
              $key <= $max) { 
                        
              $neueWerte[$key] = $value;    }
                  
                  if (empty(
              $neueWerte)) {
                      if (
              $key >= $max) { 
                            
              $neueWerte[$key] = $value;    }
                            }

              Werteerklärung:
              Produkt kostet im Einkauf 15 Euro.

              Anhand des arrays($vorschlag) möchte ich nun einen Wert ermittelt bekommen, damit ich später einen Verkaufsvorschlag machen kann.

              Bzp.:
              15 Euro Einkauf
              150 ist der ermittelte Wert

              ergo kann ich ((15*150)/100) rechnen, was als Vorschlag 22,50 bringt.

              Kommentar


              • #8
                Ich versteh immer noch nicht wirklich was du möchtest, aber wenn es für dich geklärt ist umso besser.

                Aber die Veränderung meines Codes sieht sehr komisch aus. Denn empty($neueWerte) passiert genau dann wenn die ersten Werte im Array nicht kleiner als $max sind, wenn danach wieder einer kommt der kleiner ist wurde trotzdem schon dein empty($neuerWert) Code ausgeführt, kann mir nicht vorstellen, dass das so gewollt ist.

                Kommentar


                • #9
                  Hmm... es schien erst so, das es korrekt arbeitet. Nach genauen Vergleichen der Werte, sind doch falsche Werte zurückgegeben.

                  So klappt es nun doch korrekt:
                  (Ich poste es mal... auch wenn es gelächter geben sollte.)

                  PHP-Code:
                  $max 5;

                  $neueWerte = array();
                  foreach (
                  $VK_VORSCHLAG as $key => $value
                  {
                      if (
                  $key <= $max) { 
                            
                  $neueWerte[$key] = $value;
                            
                  asort($neueWerte);                // Sortiert nach current(array) [kleinster Wert nach oben]
                            
                  $keys array_keys($neueWerte);    // Nummeriert das array durch
                            
                  $vk_vorschlag $neueWerte[$keys[0]];    // Übergibt nur den ersten Wert an $vk_vorschlag
                           
                  }
                           
                      if (empty(
                  $neueWerte)) {
                          if (
                  $key >= $max) { 
                                
                  $neueWerte[$key] = $value;    
                                
                  $keys array_keys($neueWerte);
                                
                  $vk_vorschlag $neueWerte[$keys[0]];}
                                }          
                      


                  Code:
                  $max = 5;
                  = 150
                  
                  $max = 250;
                  = 15
                  Vllt. hat ja einer ein EINFACHEN Vorschlag, der es kürzer gestaltet

                  Kommentar


                  • #10
                    Zitat von noop Beitrag anzeigen
                    Werteerklärung:
                    Produkt kostet im Einkauf 15 Euro.

                    Anhand des arrays($vorschlag) möchte ich nun einen Wert ermittelt bekommen, damit ich später einen Verkaufsvorschlag machen kann.

                    Bzp.:
                    15 Euro Einkauf
                    150 ist der ermittelte Wert

                    ergo kann ich ((15*150)/100) rechnen, was als Vorschlag 22,50 bringt.


                    Ich raff überhaupt nix... was ist der "ermittelte Wert" und was sagt die Zahl aus - sind das 150 Äpfel, die man für 15 Euro angeboten bekommt, oder kann man da 150 mal mitm Karussel fahren? Und wozu ein "Vorschlag", das Produkt kostet 15 Euro (unverb. Preisempfehlung ab Werk!) oder nicht?

                    Erkläre bitte den Hintergrund näher...
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Zitat von lstegelitz Beitrag anzeigen

                      Ich raff überhaupt nix... was ist der "ermittelte Wert" und was sagt die Zahl aus...
                      Prozentrechnung.

                      Einkaufspreis zzgl. einer festen Spanne (in Prozent).

                      Keine Preise mal 200% (also doppelter Preis)
                      Mittelwertige mal 150% (also das 1,5 fache)
                      und höherpreisige um die 120% (also 20% Aufpreis)

                      Kann ich aber über das array($VK_VORSCHLAG) halt selbst festlegen.

                      P.s. (Ja.. das array($VK_VORSCHLAG) hat falsche Werte drin... denn unter 100 würde ein Verkaufspreis unter dem Einkaufspreis ergeben. Aber das sind ja jetzt erstmal nur Beispieleintragungen und sollen keinen weiteren Sinn ergeben)

                      Kommentar


                      • #12
                        Sorry aber was du da machst checkt keiner.

                        Kommentar


                        • #13
                          Also ein Händler legt folgendes fest:

                          Wenn EK <= 100€, VK = EK * 200%
                          Wenn EK > 100€ && EK <= 1000€, VK = EK *150%
                          Wenn EK > 1000€, VK = EK *120%

                          Das sind 3 Zuordnungen (jeweils eine für "kleiner Preis", "mittlerer Preis" und "hoher Preis").

                          Es gibt auch sowas wie eine "unverbindliche Preisempfehlung ab Werk" - wie der Name schon sagt, ist sie unverbindlich UND es ist eine Empfehlung.
                          Im Endeffekt kann jeder das verlangen, was er für richtig hält, wenn er denn nur einen Dummen findet, der es zu seinen Preisen kauft. Ein Händler legt seine Marge fest und rechnet den Endpreis aus, fertig. Ein solcher Wert berechnet sich anhand diverser Faktoren (Transport+Lagerung+Platzbedarf, evtl Kühlung+Haltbarkeit etc.)... du könntest genausogut einen Wert erwürfeln und vorschlagen - mit Marktwirtschaft hat das allerdings nicht mehr viel zu tun.
                          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                          Kommentar


                          • #14
                            Sorry... aber entweder ich bin zu blöde oder Ihr Interpretiert irgendwas rein, was ihr selbst dann nicht versteht.

                            Ich bin hier zwar nur der Azubi vom Dienst... und will jetzt nicht große Töne spucken... aber was ist denn an folgenden Satz nicht verständlich:

                            Ich möchte einen VORSCHLAG von PHP ausgerechnet haben, der auf:
                            Einkaufspreis mal eine prozentuale Spanne errechnet.


                            Zitat von lstegelitz Beitrag anzeigen
                            Es gibt auch sowas wie eine "unverbindliche Preisempfehlung ab Werk" - wie der Name schon sagt, ist sie unverbindlich UND es ist eine Empfehlung.
                            Im Endeffekt kann jeder das verlangen, was er für richtig hält, wenn er denn nur einen Dummen findet, der es zu seinen Preisen kauft. Ein Händler legt seine Marge fest und rechnet den Endpreis aus, fertig. Ein solcher Wert berechnet sich anhand diverser Faktoren (Transport+Lagerung+Platzbedarf, evtl Kühlung+Haltbarkeit etc.)... du könntest genausogut einen Wert erwürfeln und vorschlagen - mit Marktwirtschaft hat das allerdings nicht mehr viel zu tun.
                            Komm doch endlich mal weg von dieser UVP. Das sind Richtwert, die ein Händler vvlt. in 2ter Instanz in Erwägung zieht / ziehen sollte.

                            Um Marktfähig zu sein/bleiben sollte er einen individuellen Preis berechnen.... und ja = dieser bezieht sich dann auf deine eingangs erwähnten Faktoren.
                            Diese kann man aber auch Prozentual ermitteln.

                            Wenn ein Artikel 1 Euro kostet und 100% Marge drauf sind, dann wird das Teil für 2 Euro Verkauft. Ergo 1 Euro Gewinn.

                            Wenn ein Artikel 100 Euro kostet und 20% Marge drauf sind, dann wird das teil für 120 Euro verkauft. Ergo: 20 Euro Gewinn.



                            Keine Ahnung, ob das nun einer Verstanden hat. In letzter Hoffnung, das ein Bild vvlt. mehr erklärt, poste ich mal mein zusammengefriggeltes:


                            ICh hoffe, das ich nicht darauf hinweisen müßte, das die roten ?? das Ziel ist.

                            Kommentar


                            • #15
                              Der Trash-Knopf war schon gedrückt. Ist wirklich besch.. erklärt! Aber ich glaube, ich weiß jetzt was DU willst.

                              [11] => 150
                              [21] => 100
                              [31] => 80
                              [41] => 70
                              SInd Prozentwerte, die Schlüssel korrepondieren mit dem Suchwert. 15 liegt zwischen 11 und 21, ergo willst Du bspw. das nächste (höhere) Element, also den Schlüssel 11, Prozentwert 150 auswählen, um eine gute Gewinnspanne zu ermitteln (höhere Mengen werden dagegen zum Vorzugspreis angeboten).

                              So eine richtige Lösung außer Schleifendurchlauf fällt mir da auch nicht ein. Auf jeden Fall gehört aber ein break in die Schleife.
                              --

                              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                              --

                              Kommentar

                              Lädt...
                              X