Mehrfachauswahl aus DB auslesen

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

  • Mehrfachauswahl aus DB auslesen

    Hallo!
    Ich habe ein select multiple.
    PHP-Code:
    <select name="icons[]" id="icons" size="5" multiple="multiple">
                                                            <
    option value="keins">Keins</option>
                                                            <
    option value="winter">Winter</option>
                                                            <
    option value="üf">ÜF</option>
                                                            <
    option value="pkw">PKW</option>
                                                            <
    option value="ski">Ski</option>

                                                        </
    select
    in die DB speicher ich es folgendermaßen ab:
    PHP-Code:
    $icons 0;
        foreach(
    $_POST['icons'] as $icon
        {
        if(
    $icons=="")
        {
            
    $icons $icon;
        }
        else
        {
            
    $icons =  $icons.",".$icon;
        }
        } 
    Mien Problem nun, dass ich nicht so richtig weiß, wie ich es am besten in die DB speichern soll, damit ich es wieder auslesen knn. Mit Komma getrennt ist dass nicht so sinvoll oder? Gibt es da etwas, dass dann beim auslesen automatisch erkennt, was der eigentliche Datensatz ist?

  • #2
    Hi.

    Also, wenn du das schon mit Komma trennst, dann mach es doch wenigstens mit implode:

    PHP: implode - Manual

    Anbei: du hast mehrfachauswahl, aber da steht z.B. "keins" oder "winter" usw. Das macht für mich nicht wirklich Sinn, wenn er keins und noch ein anderes z.B. auswählt!

    mfg streuner
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
    der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

    "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

    Kommentar


    • #3
      Hallo,

      sowas löst man über relationale Beziehungen. Kurz gesagt, legst du viele Datensätze in der Tabelle B an, die alle auf denselben Datensatz in Tabelle A zeigen.

      Gruß,

      Amica
      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
      Super, danke!
      [/COLOR]

      Kommentar


      • #4
        Super, implode () und explode() war sehr hilfreich, jetzt funktioniert es!! Noch etwas umstädnlcih im Moment, ABER es funktioniert :-)
        PHP-Code:
            <select name="icons[]" id="icons" size="5" multiple="multiple">
        <?php
        $icons_array 
        explode ','$icons );

        for ( 
        $x 0$x count $icons_array ); $x++ )
        {
                                                                  
         if(
        $icons_array[$x]=="")
        {
        $leer="selected";
        }
        if(
        $icons_array[$x]=="winter")
        {
        $winter="selected";
        }
        if(
        $icons_array[$x]=="üf")
        {
         
        $üf="selected";
        }
        if(
        $icons_array[$x]=="pkw")
        {
        $pkw="selected";

        if(
        $icons_array[$x]=="ski")
        {
        $ski="selected";
        }
        }
         
        ?>
        <option value="" <?php echo $leer;?>></option>
        <option value="winter" <?php echo $winter;?>>Winter</option>
        <option value="üf" <?php echo $üf;?>>ÜF</option>
        <option value="pkw" <?php echo $pkw;?>>PKW</option>
        <option value="ski" <?php echo $ski;?>>Ski</option>
         </select>
        DANKE!!

        Kommentar

        Lädt...
        X