Ankündigung

Einklappen
Keine Ankündigung bisher.

mehrfach Auswahlliste Einträge vormarkieren

Einklappen

Neue Werbung 2019

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

  • mehrfach Auswahlliste Einträge vormarkieren

    Hallo Community,

    Ich sitze momentan an einem kleinen Problem.
    Ich habe eine mehrfach Auswahlliste, welche über nachfolgenden Code aus einem Array($hostgroup_names[]) mit Einträgen gefüllt wird.
    Code:

    PHP-Code:
    <?PHP
    $array_hostgroups 
    explode(',',$ridden_values[0]);
    echo
    'Hostgroup:';
    if (!empty(
    $_POST['host_select']))
    {
        
    $Hostgroup = new Hostgroup;
        
    $hostgroup_names $Hostgroup->read_hostgroup();
    }
    echo
    '<select multiple="multiple" name="hostgroup[]">';
    foreach(
    $hostgroup_names as $key=>$value)
    {
        echo 
    '<option value="'.$value.'">' .$value'</option>';
    }
    echo 
    '</select>';
    ?>
    Das zweite Array ($array_hostgroups[]) enthält aus einer Datei ausgelesene Werte. Ich möchte nun die Werteermitteln, welche in Array1 ($array_hostgroups) und Array2 ($hostgroup_names[]) vorkommen und diese Einträge in der Auswahlliste automatisch markieren.

    Mein bisheriger Ansatz:
    PHP-Code:
    <?PHP
    if (!empty($_POST['host_select']))
    {
        
    $Hostgroup = new Hostgroup;
        
    $hostgroup_names $Hostgroup->read_hostgroup();
    }

    echo
    '<select multiple="multiple" name="hostgroup[]">';

    $hostgroup_intersection =  array_intersect($hostgroup_names$array_hostgroups);
    var_dump($hostgroup_intersection);  //keine Ausgabe!!

    foreach($hostgroup_names as $key=>$value)
    {
        if(
    strcmp($value,$ridden_value[0]==0))
        {
            echo 
    '<option value="'.$value.' selected="selected">' .$value'</option>';
        }
        else
        {
           echo 
    '<option value="'.$value.'">' .$value'</option>';
        }
    foreach(
    $array_hostgroups as $key => $value)
    {
        if(
    strcmp($value,$ridden_values[0] == 0))
        {
           echo
    'selected="selected">' .$value'</option>';
        }
        else
        {
           echo
    '>' .$value'</option>';
        }
    }
    }
    ?>
    Mein zweiter Ansatz war über die Funktion "array_intersect()".
    Der Versuch mir die Schnittmenge ausgeben zu lassen brachte leider kein Ergebniss.


  • #2
    Beim Durchlauf der <option ... jedes Element mit in_array() prüfen ob vorhanden wenn ja " selected" einfügen, wenn nein dann nicht.
    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar

    Lädt...
    X