Code bereich dynamisch, nur wie?

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

  • Code bereich dynamisch, nur wie?

    Hallo Leute,

    kann mir jemand dabei helfen diesen codebereich dynamisch zu machen ? die anzahl der möglichen $_POST[hobby_x] kann ich durch die anzahl von Datensätzen aus einer Datenbank (im moment 18 stück) ermitteln....aber derzeit muss ich bei jedem neuen Eintrag eines Datensatzes auch diese if-struktur im script erweitern, hätte das aber gern dynamisch.. weiß jedoch nie wie ich das machen soll
    ...
    PHP-Code:
    if($_POST['hobby_1']=="J") {$hobby_string .= "01J";} else {$hobby_string .= "01N";}
    if(
    $_POST['hobby_2']=="J") {$hobby_string .= "02J";} else {$hobby_string .= "02N";}
    if(
    $_POST['hobby_3']=="J") {$hobby_string .= "03J";} else {$hobby_string .= "03N";} 
    ...

    für hilfe wäre echt dankbar !
    Coder never die, they just GOSUB without RETURN

    Mein System

  • #2
    Guck dir mal das an:

    http://tut.php-quake.net/formulare.html#u13

    mfg

    Kommentar


    • #3
      das kenn ich natürlich, aber das ist auch eine gruppe..
      bei meinem problem muss mehrfachselektion möglich sein und das geht doch nur, wenn alle einen verschiedenen namen haben...
      oder irre ich da?
      Coder never die, they just GOSUB without RETURN

      Mein System

      Kommentar


      • #4
        Original geschrieben von ways
        das kenn ich natürlich, aber das ist auch eine gruppe..
        Glaub ich nicht. Was meinst du eigentlich mit Gruppe?

        bei meinem problem muss mehrfachselektion möglich sein und das geht doch nur, wenn alle einen verschiedenen namen haben...
        oder irre ich da?
        Lies dir den Link nochmal durch ...
        Hab sogar schon den passenden Anker verlinkt..

        mfg

        Kommentar


        • #5
          Mehrfachselektion ist auch so möglich! Denn du haust ja alle $_POST in ein Array rein und in einen Array können ja mehr Werte drin stehen als nur einer!
          Und wenn du dies gemacht hast, kannste das dann auslesen mit z.B.
          ner foreach Schleife!!

          Kommentar


          • #6
            Probier mal:
            PHP-Code:
            // Melde dich zuerst bei deiner DB an
            $db = ...

            // Datenbankabfrage
            $query "SELECT * FROM hobbies;";
            $result $db->query($query);

            $howmany $result->num_rows// Wieviele hobbies gibt es?

            // Hobbies in einen Array hauen
            $hobbies = array(); // Der Array in den deine Hobbies kommen

            for($i=0;$i<$howmany;$i++)
            {
                
            $hobby $result->fetch_assoc();
                
            array_push($hobbies,$hobby);
            }

            // Hobby-Bekennung :)
            $hobbyAnzahl 3;
            $hobby_string "";

            for(
            $i=1;$i<=$hobbyAnzahl;$i++) // Für jedes der 3 Hobbies wird geprüft, um welches es sich dabei handelt
            {
                
            $hobbyStringNow ""// Das wird das aktuelle Hobby
                
            foreach($hobbies as $hobby// Jedes Hobby im Array $hobbies wird einzeln durch den folgenden Code geschläust, und zwar in der Variable $hobby
                
            {
                    if(
            $_POST["hobby_".$i] == $hobby)
                        
            $hobbyStringNow $i.$_POST["hobby_".$i];
                }
                
                if(empty(
            $hobbyStringNow)) // Wenn kein Hobby gefunden wurde, ist diese Variable leer...
                    
            $hobbyStringNow $i."N"// Kein Hobby gefunden? Dann ist es ein N!

                
            $hobby_string .= $hobbyStringNow// Jetzt wird das nächste Hobby angehängt

            Ich habe es nicht probiert, sag mir, wenn was nicht stimmt...

            Greez,
            netsnake
            | netsnake | www.netsnake.net |
            Für Rechtschreibfehler, Denkfehler, Tippfehler, usw. übernehme ich KEINE HAFTUNG

            Kommentar

            Lädt...
            X