Listenfeld Hilfe

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

  • Listenfeld Hilfe

    Hey Leude!

    I brauche drinnnngend eure Hilfe:

    Ich habe zwei Dynamische Listenfelder: Benutzer und Software.

    Das Benutzerlistenfeld hat eine einfach auswahl und die SoftwareListfield eine Mehrfachauswahl.
    Das ganze sollte in eine Zwischentabelle eingefügt werden das heisst nur IDS werden eingefügt.

    Problem:

    Wenn ich das i einem Form abschicke schreibt er natürlich ein Benutzer und mehrere Software was nicht geht.
    So schreibt er in realität z.B. B_ID=1 und dazu fischt er sich irgend "eine" S_ID der mehrfachauswahl heraus und fügt sie ein .

    Hat jemand eine IDEE?? Bin verzweifelt


    CODE:

    PHP-Code:
    if (isset ($SubASC))
    {

    /*software ermitteln inkl Sortierung*/

    $sql1="SELECT S_ID, S_Name FROM software ORDER BY S_Name ASC";
        
    $result1 mysql_query($sql1);
        
    $num_software mysql_num_rows($result1);
    }

    /*software ermitteln Inkl Sortierung*/


    if (isset($SubDESC))
    {

        
    $sql1="SELECT S_ID, S_Name FROM software ORDER BY S_Name DESC";
        
    $result1mysql_query($sql1);
        
    $num_software mysql_num_rows($result1);
    }


        
    /* Listenfeld software*/

        
    echo "SW: <select name=\"S_ID[]\" multiple=TRUE>";
        echo 
    "<option>Bitte auswählen</option>";

        
    /*Werte via For schleife ins Listenfeld einfügen*/
        
    for($j=0$j $num_software$j++)
        {
        
    mysql_data_seek ($result1$j);
        
    $software mysql_fetch_array($result1);
        echo 
    "<option value=$software[S_ID]>$software[S_Name]</option>";
        }
        echo    
    "</select><br>";



        
    /*hardware ermitteln*/
        
    $sql1="SELECT B_ID, Vorname FROM benutzer";
        
    $result1 mysql_query($sql1);
        
    $num_benutzer mysql_num_rows($result1);

        
    /* Listenfeld hardware*/
        
    echo "USER: <select name=\"B_ID[]\" >";
        echo 
    "<option>Bitte auswählen</option>";

        
    /*Werte via For schleife ins Listenfeld einfügen*/
        
    for($j=0$j $num_benutzer$j++)
        {
        
    mysql_data_seek ($result1$j);
        
    $benutzer mysql_fetch_array($result1);
        echo 
    "<option value=$benutzer[B_ID]>$benutzer[Vorname]</option>";
        }
        echo    
    "</select><br>";

    2nd file "insert":

    /* Prüfen ob hinzufügen gedrückt wurde. */
        
    if (isset ($Subsb)) {


     
    /* Sql Statements fürs Einfügen des neuen Benutzers */
         
    $sql3 "INSERT INTO softbenutzer (S_ID, B_ID)
                 VALUES('
    $S_ID', '$B_ID')";

        
    $result3 mysql_query($sql3);
    }
    unset (
    $Subsb); 
    EDIT:
    [php]-tags by Abraxax
    Zuletzt geändert von Abraxax; 28.11.2003, 11:13.

  • #2
    Hey Kommt schon ich bin auf eure Hilfe angewiesen...

    Kommentar


    • #3
      Du willst also zur User-ID mehrere Software-ID's speichern, oder?

      Was soll die Zeile hier:
      PHP-Code:
      2nd file "insert"
      it's not a bug,
      it's a feature!

      Kommentar


      • #4
        Oh... Entschuldigung!

        Das sollte nur die zwite Datei darstellen das Insert.php wohin das geschickt wird.

        Sorry für meine unkompetente erklärung.

        Kommentar


        • #5
          TIPP: du fragst nur nach $S_ID ab aber du hast nen S_ID[] Select name. na fällt was auf...
          ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
          und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

          Kommentar


          • #6
            Das habe ich aufgeschnappt. Es hat mit dem Insert mit und ohne [] funktioniert.

            Sorry bin im 2.Lehrjahr und bin noch nicht lange am coden könntest du mir es versuchen zu erläutern?
            Zuletzt geändert von Dr.Stone; 28.11.2003, 12:03.

            Kommentar


            • #7
              hast du dir schon mal $S_ID angeschaut, was du zurückbekommst?
              also gucke mal wie den multi-array aussieht z.b. so:
              PHP-Code:
              print_r($_REQUEST["S_ID"]); 
              nach meiner theorie müßte dir ausfallen das du hier ein array zurückbekommst, nach dem prinzip $S_ID[0], $S_ID[1], $S_ID[2] ... und wenn du alle Werte in der DB drin haben willst solltest du es z.b. mit foreach durchegehen und abspeichern
              ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
              und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

              Kommentar


              • #8
                habe mal geschaut was er zurück gibt.

                habe nichts bekommen weder text noch sonst was...

                sorry....

                Kommentar


                • #9
                  Habe mal im Buch foreach nachgeschlagen und bin mir nicht sicher ob ich das Problem mit foreach lösen kann...

                  Kommentar


                  • #10
                    Mit foreach sollte es aber gehen.
                    Hast du dazu schonmal im Manual unter foreach?
                    Ich find die Erklärungen und Beschreibungen recht gut.
                    it's not a bug,
                    it's a feature!

                    Kommentar


                    • #11
                      Processing.....

                      Kommentar


                      • #12
                        vielleicht hilft dir das script es zu verstehen:
                        PHP-Code:
                        <?
                        print "<PRE>";
                        print_r($_REQUEST[S_ID]);
                        print "</PRE>";
                        if (is_array($_REQUEST[S_ID]))
                            foreach($_REQUEST[S_ID] as $k => $v)
                            {
                                echo "Key: " . $k . " Value: " . $v . "<BR>";
                            }

                        ?>
                        <form action="/">
                        <select name=S_ID[]  multiple=TRUE>
                        <option value=wewe1>wewe1
                        <option value=wewe2>wewe2
                        <option value=wewe3>wewe3
                        <option value=wewe4>wewe4
                        </select>
                        <input type=submit value=x>
                        </form>
                        ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
                        und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

                        Kommentar


                        • #13
                          Danke dir für die Hilfe!

                          Ich "Muss" in den mittag bin um 13:20 wieder da.

                          Also bis nacher...

                          Kommentar


                          • #14
                            also eines mußt du auf jedenfall noch lernen. nen progger hat kein mittag
                            ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
                            und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

                            Kommentar


                            • #15
                              Original geschrieben von muecke0815
                              also eines mußt du auf jedenfall noch lernen. nen progger hat kein mittag
                              OffTopic:
                              und geduld haben sollte er auch noch lernen. nach nicht mal einer halben stunde schon die erste quengelei á la "helft mir doch endlich!", das ist reichlich unverschämt.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X