For each

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

  • For each

    Hallo habe folgende Frage, ich lasse mir verschiedene Werte aus
    einer Tabelle ausgeben, das funktioniert, dann wird mit den
    Werten eine Berechnung durchgeführt und das Ergebnis ist $d.

    Jetzt wird mit $d folgendes gemacht:

    PHP-Code:
    .....................
    if (
    $d <= -7) {
                    
    $array[0][$row['create_time']]="more than 7 months before launch";
          } else if (
    $d <= -&& $d >= -6){
                  
    $array[1][$row['create_time']]="6 to 4 months before launch";
          } else if (
    $d <= -&& $d >= -3){
                  
    $array[2][$row['create_time']]="3 to 1 months before launch";
          } else if (
    $d >= && $d <= 3) {
                 
    $array[3][$row['create_time']]= "0 to 3 months";
          } else if (
    $d >= && $d <= 6) {
                 
    $array[4][$row['create_time']]= "4 to 6 months";
          } elseif (
    $d >= && $d <= 9) {
                  
    $array[5][$row['create_time']]= "7 to 9 months";
          } elseif (
    $d >= 10 && $d <= 12) {
                
    $array[6][$row['create_time']]= "10 to 12 months";
          } elseif (
    $d >= 13 && $d <= 24) {
                  
    $array[7][$row['create_time']]="1 up to 2 years";
          } elseif (
    $d >= 25 && $d <= 36) {
                 
    $array[8][$row['create_time']]="more than 2 years up to 3 years";
          } elseif (
    $d >= 36 && $d <= 60) {
                  
    $array[9][$row['create_time']]="more than 3 years up to 5 years";
          } elseif (
    $d >= 61) {
                 
    $array[10][$row['create_time']]="more than 5 years";
          }

    Jetzt möchte ich, das der create_time mit auf die nächste Seite übergeben wird, damit ich auf der nächsten Seite ein weiteres Suchkriterium habe,
    das soll dann so aussehen:

    <option value='10/05|1 up to 2 years'>1 up to 2 years</option>

    Das geht auch soweit, bis auf einen kleinen Fehler, hier erstmal der Code:

    PHP-Code:
    ksort($array);

    }
    $spacer_shown=false;
    $show_line=false;
    for (
    $d=0;$d<=10;$d++) {
                    if (isset(
    $array[$d])) {
                            foreach (
    $array[$d] as $key=>$val) {
                                    
    $times.=$key.',';
                            }
                            if (
    $d<&& $show_line==false) {
                            
    $show_line=true;
                            }
                            if (
    $d>=&& $spacer_shown==false && $show_line) {
                            echo 
    '<option value="">----------------------</option>';
                            
    $spacer_shown=true;
                            }
                            echo 
    "<option value='$times|$val'>$val</option>";
                            } else {
                            echo 
    '<option value="">--</option>';
                            }
    ............. 
    Jetzt habe ich folgende Problem, das er einfach, wenn ich jetzt als
    $create_time z.B. 10/05 habe und als $months 0 to 3 months
    als Ergebnis habe, und dann z.B. bei 12/03 3 to 6 months
    einfach die 10/05 miteinschließt und übergibt, also so siehts aus:

    <option value='10/05,12/03|3 to 6 months'>3 to 6 months</option>

    Aber das ist falsch, so ist es richtig:

    <option value='10/05|0 to 3 months'>0 to 3 months</option>
    <option value='12/03|3 to 6 months'>3 to 6 months</option>

    Wo liegt der "Fehler" ? In der Foreach Schleife, oder wo ?

  • #2
    Re: For each

    <option value='10/05,12/03|3 to 6 months'>3 to 6 months</option>

    kommt von

    PHP-Code:
    echo "<option value='$times|$val'>$val</option>"
    Nun schau mal selbst, wo in deinem Code $times ein Wert zugewiesen wird ...

    Tipp: print_r()!

    Kommentar


    • #3
      OffTopic:
      @onemorenerd
      Da ist aber einer auch gaaaanz früh wach. Prost beim Kaffee


      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Ja zwangsweise, inzwischen auch bei vollem Bewußtsein.

        Du warst Nachtschicht im RZ oder sowas ne?

        Kommentar


        • #5
          @onemorenerd

          Hallo und Guten Tag,

          ich habe die ForEach Schleife nicht geschrieben, sondern mir schreiben lassen, weil ich davon null Ahnung habe, kannst/könnt du/ihr mir weiterhelfen ?

          Danke !

          Kommentar


          • #6
            Original geschrieben von steiner82
            ich habe die ForEach Schleife nicht geschrieben, sondern mir schreiben lassen, weil ich davon null Ahnung habe,
            OffTopic:
            Wer hätte etwas anderes vermutet ...?

            kannst/könnt du/ihr mir weiterhelfen ?
            Ich hoffe doch, dass das niemand für dich macht.
            Langsam solltest du deinen Kram mal selber auf die Reihe kriegen, findest du nicht?
            Du kommst hier mit einem Trivialproblem nach dem anderen angerannt, und dein eigenes Verständnis für die Thematik ist immer noch nahezu Null.
            Entweder kriegst du mal langsam den Hintern hoch, und lernst ein bisschen - oder du lässt es mit dem "programmieren" lieber bleiben.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Ich brauche ja mal wenigstens einen Ansatz, wo der Fehler liegt.


              Code:
              for ($d=0;$d<=10;$d++) {
                              if (isset($array[$d])) {
                                      foreach ($array[$d] as $key=>$val) {
                                              $times.=$key.',';
              Wahsaga, wenn du mir nicht helfen willst, dann animiere bitte nicht
              die anderen mir zu helfen, immerhin ist das ein Forum, wo JEDER seine
              Fragen, egal welche, loswerden kann.

              DANKE

              Kommentar


              • #8
                Oberhalb von
                PHP-Code:
                foreach ($array[$d] as $key=>$val) {
                                                
                $times.=$key.',';
                                        } 
                musst du $times auf einen Initialwert setzen, ein Leerstring wäre gut
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Original geschrieben von steiner82
                  Wahsaga, wenn du mir nicht helfen willst, dann animiere bitte nicht
                  die anderen mir zu helfen,
                  Ich werde mich hüten *g*
                  immerhin ist das ein Forum, wo JEDER seine Fragen, egal welche, loswerden kann.
                  Ja, jeder, der selber auch ein bisschen mitdenkt.
                  Du aber lässt dies so gut wie jedes Mal vermissen.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    So habe das jetzt so gemacht:

                    PHP-Code:
                    if (isset($array[$d])) {
                                            
                    $times "";
                                            foreach (
                    $array[$d] as $key=>$val) {
                                                    
                    $times.=$key.',';
                                            } 
                    Ist das so in Ordnung? Funktionieren tut es :-) Danke

                    Kommentar


                    • #11
                      geschrieben von onemorenerd
                      Ja zwangsweise, inzwischen auch bei vollem Bewußtsein.
                      Du warst Nachtschicht im RZ oder sowas ne?
                      OffTopic:

                      Jupp diese Woche Nachschicht unterhalb des RZ's. Wir machen hier die Input Kontrolle für diverse Börse, die z.T. eben auch 24h laufen.



                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar

                      Lädt...
                      X