Wert vov select box übernehmen

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

  • Wert vov select box übernehmen

    Hallo Leutz,

    ich habe ein kleines Problem und zwar will ich wenn ich in der dropdownbox(<select>) einen Wert auswähle dieses als selected markiert wird und nach dem neuladen der seite auch markiert bleibt. was mache ich hier falsch?


    PHP-Code:
    $array_objwohnen = array$array_objwohnen = array("wohnungen""einfamilienhauser""grundstueckewohnen""anlagewohnen");
    $array_aggregat1 = array("mietekalt","kaufpreis");
    $array_aggregat2 = array("wohnflaeche","nutzflaeche");
    $array_var = array    ($array_aggregat1,"plz""ort"$array_aggregat2);
    $array_con = array ("Miete/Kaupreis""Postleitzahl""Ort""Größe");


    for(
    $j 0$j count($array_objwohnen); $j++){
        if(
    $array_objwohnen[$j] == $_POST[angebot]){
            
    $tmp 1;
            break;
        }else{
            
    $tmp 0;
        }
    }

    echo 
    "<select name='sort' size='1' style='font-size: 7pt; border-style: groove;'>\n";
    //    echo "<option value=''></option>\n";
        
    for ($listbox 0$listbox count($array_con); $listbox++) {
                if((
    count($array_var[$listbox]) > 1)){
                    if(((
    $_POST[vorgang] == "miete") && ($array_aggregat1[0] == $array_var[$listbox][0])) || ($tmp == 1)){
                        echo 
    "<option value='" $array_var[$listbox][0]. "'";
                        
    $tmpSort $array_var[$listbox][0];
                    }else{
                        echo 
    "<option value='" $array_var[$listbox][1]. "'";
                        
    $tmpSort $array_var[$listbox][1];
                    }
                }else{    
                    echo 
    "<option value='" $array_var[$listbox]. "'";
                    
    $tmpSort $array_var[$listbox][0];
                }    
                if (
    $_POST['sort'] == $tmpSort){
                    echo 
    " selected";
                }    
                echo 
    ">";
            
            
            echo 
    $array_con[$listbox] . "</option>\n";
        }
        echo 
    "</select>\n"

  • #2
    Boah, keine Ahnung was du da machst, aber ich habe noch nie soviel Code für eine einzige Selectbox gesehen!

    Dabei ist es doch ganz einfach:
    PHP-Code:
    $array_con = array('Miete/Kaufpreis''Postleitzahl''Ort''Größe');

    echo 
    '<select name="sort" size="1" style="font-size: 7pt; border-style: groove;">';
    foreach (
    $array_con as $con) {
      echo 
    "<option value=\"$con\"".($_POST['sort']==$con?' selected':'').">$con</option>";
    }
    echo 
    '</select>'
    Übrigens fehlt dir bei Kaufpreis das F.

    Kommentar


    • #3
      Hi,

      schau dir mal bitte diese arrays an... select soll wie folgt daregestellt werden

      <option value='" . $array_var[$i]>$array_con</option>



      PHP-Code:
      $array_aggregat1 = array("mietekalt","kaufpreis");
      $array_aggregat2 = array("wohnflaeche","nutzflaeche");
      $array_var = array    ($array_aggregat1,"plz""ort"$array_aggregat2);
      $array_con = array ("Miete/Kaupreis""Postleitzahl""Ort""Größe"); 

      Kommentar


      • #4
        Entschuldige bitte, aber wenn ich deinen Code und meinen Code ausführe, ist die Darstellung exakt die selbe - vom fehlenden F mal abgesehen.

        Du verwendest lediglich andere Values, aber selbst wenn ich das deiner Ausgabe angleiche, sieht meine Variante deutlich einfacher aus. Ich habe deinen Code übrigens nicht nachvollzogen. Ist mir einfach zu viel und zu quirky.
        PHP-Code:
        $array_con = array(
            
        'miete' => 'Miete/Kaufpreis',
            
        'plz' => 'Postleitzahl',
            
        'ort' => 'Ort',
            
        'nutzflaeche' => 'Größe');

        echo 
        '<select name="sort" size="1" style="font-size: 7pt; border-style: groove;">';
        foreach (
        $array_con as $val => $con) {
          echo 
        "<option value=\"$val\"".($_POST['sort']==$val?' selected':'').">$con</option>";
        }
        echo 
        '</select>'

        Kommentar


        • #5
          hmmm...nu rdas problem ist damit immer noch nicht gelöst...
          es ist doch so ich habe ein $array_con dessen element entweder arrays oder einfache werte sind. falls im $array_con ein array angesprochen wird, soll das entprechende element ausgewählt werden, sihe code.
          du benutzt jedoch ein flaches array.

          Kommentar


          • #6
            In der Tat, mein Array ist ziemlich flach. Und statt es jetzt aufzublasen und noch drei weitere Arrays einzuführen, weigere ich mich weiterhin, deinen Code nachzuvollziehen. Ich habs versucht, ehrlich. Aber schon die erste for-Schleife macht nichts anderes als
            PHP-Code:
            in_array($_POST['angebot'], $array_objwohnen
            Sorry, aber so würde ich das an deiner Stelle wirklich nicht angehen. Den Code verstehst du schon nächsten Monat nicht mehr.
            Offensichtlich triffst du zuvor schon ein(ig)e Auswahl(en). Anhand dieser Auswahl soll nun irgendwie was anderes an Values ausgegeben werden. Das ist aber nicht zwingend und vor allem schleppst du so die Last der Mehrfachauswahl immer weiter mit dir.

            Möglicherweise verstehe ich falsch, was du vorhast. Aber dann erkläre es doch mal von vorn bis hinten.

            Kommentar


            • #7
              Es ist so:
              auf der Startseite mache ich zwei Unterscheidungen:
              1.) Miete oder Kauf (mietekalt oder kaufpreis)
              2.) Gewerbe oder Wohnen (nutzflaeche oder wohnflaeche)

              auf der anzeigeseite soll sortieren, dort aber sollen mietekalt und kaufpreis
              zu Miete/Kaufpreis und das andere zu Größe(nutzflaeche und wohnflaeche)
              zusammengelegt werden. Das sind die Anforderungen.

              Ist das jetzt etwas klarer?

              Kommentar


              • #8
                Du läßt den User unterscheiden, legst dann aber die Unterscheidungen wieder zusammen. Das sieht dann so aus, daß du Arrays (aus vorherigen Entscheidungen) in Arrays (für neue Entscheidungen) packst. Genau das meine ich mit "mitschleppen".
                Wenn es gar nicht anders geht (ohne doppelten Code zu schreiben), dann schleppe es doch wenigstens so mit:
                PHP-Code:
                // Beispielbelegung
                $_POST['angebot'] = 'miete';
                $_POST['weißnichwas'] = 'nutzflaeche';
                    
                $array_con = array(
                    
                $_POST['angebot'] => 'Miete/Kaufpreis',
                    
                'plz' => 'Postleitzahl',
                    
                'ort' => 'Ort',
                    
                $_POST['weißnichwas'] => 'Größe');

                echo 
                '<select name="sort" size="1" style="font-size: 7pt; border-style: groove;">';
                foreach (
                $array_con as $val => $con) {
                  echo 
                "<option value=\"$val\"".($_POST['sort']==$val?' selected':'').">$con</option>";
                }
                echo 
                '</select>'
                Das eigentliche Problem, nämlich einmal selektierte Optionen als selektiert auszugeben, hast du ja gelöst, indem du konditional ein selected ausgibst.
                Wenn das bei deinem Code nicht an der richtigen Stelle kommt, dann ist das doch ein klares Zeichen, dass die Konditionen nicht stimmen. Tja und das wundert mich halt wenig ... sieht ja keiner durch.
                Zuletzt geändert von onemorenerd; 19.01.2006, 11:48.

                Kommentar

                Lädt...
                X