Mehrfachauswahl aus DB auslesen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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 ---"

    Comment


    • #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]

      Comment


      • #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!!

        Comment

        Working...
        X