DropDownMenü

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

  • DropDownMenü

    Hallo...
    Kann mir jemand sagen mit was ich ein Dynamisches DropDownMenü machen kann.
    HTML mässig is ja einfach.

    PHP-Code:
    <select name="auswertung" size=1>
      <
    option value="1">note 1</option>
      <
    option value="2">note 2</option>
      <
    option value="3">note 3</option>
      <
    option value="4">note 4</option>
      <
    option value="5">note 5</option>
      <
    option value="6">note 6</option>    
    </
    select
    Ich möchte jedoch, dass das DropDown Menü auf eine Table zurückgreift, und erkennt wieviele Zeiln es mit welchem Namen erstellen muss.

    Hab bis jetzt kein Beispielscript gesehen, wo ich es mir anschauen könnte wie es funktioniert.

    LG Achim

    ...::ZUSATZ:::...

    Habs geschaft.
    Für jeden der auch daran gedüftelt hat:

    PHP-Code:

    <?   
    require_once("admin/includes/config/config.php");

       $result = mysql_query("SELECT testname FROM `test`");

       echo "<select name='test'>\n";
       while ($data = mysql_fetch_array($result))   
        {     
        echo "<option value='" . $data["gruppenid"] . "'>";
        echo $data["testname"] . "</option>\n";
        }
        echo "</select>\n";    
       mysql_close();

    ?>
    LG Achim
    Zuletzt geändert von iBumsti; 01.05.2007, 22:38.

  • #2
    Also wie Ihr erkennen konntet, sitz ich nun schon seit 22:30 an dieser Sache...

    Nun hab ich folgendes Problem
    Ich hab keine Ahnung wie ich das ergebnis welches ausgewählt wurde in die Datenbank abspeichern kann.

    Ich hab schon einige Seiten besucht, kann aber nur sachen finden, die ich selbst schon ausprobiert habe.

    Hier mein Lösungsversuch:

    PHP-Code:

    //Hier werden die Zeilen aus der Datenbank wiedergegeben und der User wählt eine Zeile im Dropdownmenü aus
       
    $result mysql_query("SELECT * FROM `user_cats`");

    echo
    "    <table width=52% border=0>
            <colspan=4 align=center>
                    
                
    $glob[error]                

            
            <form id=\"form\" name=\"form\" method=\"post\" action=\"
    $PHP_SELF?page=eintb&action=edit\" onSubmit=\"return Validate_frm(this)\">
            <tr>
                <b>Eintrag ändern:<br><br></b>
            </tr>"
    ;


    if(
    $fr_FRC== 0){

    echo
    "

                    <tr>
                <td width=50% class=\"hauptsitetext\" align=left>Kategorie:
                </td>
                <td width=10%><select name=\"cat1\" class=\"hauptsiteeingabefeld\">\n"
    ;

                       while (
    $data mysql_fetch_array($result))   
                    {     
                    echo 
    "<option value='" $data["cat1"] . "'>";
                    echo 
    $data["cat_name"] . "</option>\n";
                    }
                    echo 
    "</select>\n";   
    echo
    "
                </td>
            </tr>
        </table>

    "
    ;
    }
    echo
    "


        <br>
        <table width=100% border=0>

            <tr>
                <td colspan=2 align=center><input type=\"Submit\" name=\"Submit\" value=\"ändern\" id=\"normaltext\" class=\"hauptsitesubmit\">
                </td>
            </tr><br></font>
            </table>
            </form>"
    ;

    //Hier wird (soll) die Angabe des Users abgespeichert werden

    if($_GET['action'] == "edit"){
        
    $vergleich=true;
        
    $siteuser1=base64_decode($_SESSION['siteuser']);
            if(
    $siteuser1==""){
                
    $vergleich=false;
                echo
    "Fehler aufgetretten!";
            }    
        
    $cat1=$_POST[cat1];


         
    $res mysql_query("SELECT * FROM `user_dbeintraege` WHERE `fr_uname`='$siteuser1'");
                if(
    mysql_num_rows($res) == 0)
                { 
                
    mysql_query("INSERT INTO `user_dbeintraege` (fr_cat1) VALUES ('$cat1')");
                echo
    "Eintragung erfolgreich!";
            }else{
            if(
    mysql_num_rows($res) >= 2){
                
    $vergleich=false;
                echo
    "Fehler aufgetretten!";

            }else{
                if(
    $vergleich==true){
                    
    mysql_query("UPDATE `user_dbeintraege` SET fr_cat1 = '$cat1' WHERE fr_uname = '$siteuser1' LIMIT 1");
                    echo
    "Änderungen gespeichert!";
                
                }else{
                    
    $glob[error]="<br><font color=#FF0000><b>Es kam zu einem internem Fehler.<br></b> Bitte Informieren Sie den Administrator</font><br><br>";
                }}
            }} 
    Wäre toll wenn einer von euch eine Lösung für mich auf seiner Tastertur findet und weitertippt...

    LG Achim
    Zuletzt geändert von iBumsti; 02.05.2007, 00:42.

    Kommentar


    • #3
      Brich bitte deinen Code um!
      Bei der Gelegenheit kannst du ihn auch ordentlich formatieren und Überflüssiges entfernen. Vielleicht finde ich dann auch den Form-Tag.

      Kommentar


      • #4
        Was funktioniert den an deiner Lösung nicht? Informier dich über Strings und Variablen und über Arrays
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #5
          Hi...
          Mein Problem ist, dass ich den Wert des Namen (name=\"cat1\") von diesem DropDown nicht in die Datenbank eintragen kann.
          (Das ist jedoch das Ziel ;o) )

          Ich weiß das in der IF-Abfrage der Wert schon nicht übernommen wurde.
          (Hab einen Test gemacht und hab dabei festgestell, das $_POST[cat1]; nichts enthält, obwohl ja hier eine Datenzeile ausgewählt wurde.

          LG Achim

          Kommentar


          • #6
            error_reporting + mysql_error

            den code leserlich gestalten und testausgaben machen

            Kommentar


            • #7
              Es gibt keine Fehlermeldung.

              Es passiert einfach nichts...

              Wie soll ich es formatieren.
              Ich formatiere alles, füg es hier ein und es ist wieder alles anders....

              LG Achim

              Kommentar


              • #8
                dann formatier es mal im forum, alle anderen schaffen es auch.

                Kommentar


                • #9
                  Ist es so besser?

                  PHP-Code:
                  //Hier werden die Zeilen aus der Datenbank wiedergegeben und der User wählt eine Zeile im Dropdownmenü aus

                  $result mysql_query("SELECT * FROM `user_cats`");

                    echo
                  "<table width=52% border=0>
                              <colspan=4 align=center>

                                 
                  $glob[error] 


                             <form id=\"form\" name=\"form\" method=\"post\" 
                                       action=\"
                  $PHP_SELF?page=eintb&action=edit\" 
                                       onSubmit=\"return Validate_frm(this)\"
                             >
                                 <tr>
                                  <b>Eintrag ändern:<br><br></b>
                                </tr>
                            "
                  ;


                            if(
                  $fr_FRC== 0){

                              echo
                  "
                                <tr>
                                  <td width=50% class=\"hauptsitetext\" align=left>Kategorie:
                                  </td>
                                  <td width=10%><select name=\"cat1\" class=\"hauptsiteeingabefeld\">\n
                                     "
                  ;


                                     while (
                  $data mysql_fetch_array($result)) 
                                    { 
                                     echo 
                  "<option value='" $data["cat1"] . "'>";
                                     echo 
                  $data["cat_name"] . "</option>\n";
                                     }
                                     echo 
                  "</select>\n
                                  </td>
                               </tr>
                        </table>"
                  ;
                  }

                        echo
                  "
                         <br>
                          <table width=100% border=0>
                           <tr>
                            <td colspan=2 align=center><input type=\"Submit\" name=\"Submit\"   value=\"ändern\" id=\"normaltext\" class=\"hauptsitesubmit\">
                            </td>
                           </tr>
                          <br>
                       </font>
                    </table>
                  </form>"
                  ;

                  //Hier wird (soll) die Angabe des Users abgespeichert werden

                  if($_GET['action'] == "edit"){

                                
                  $vergleich=true;
                                
                  $siteuser1=base64_decode($_SESSION['siteuser']);

                                if(
                  $siteuser1==""){

                                           
                  $vergleich=false;
                                           echo
                  "Fehler aufgetretten!";
                                } 

                                
                  $cat1=$_POST[cat1];

                                
                  $res mysql_query("SELECT * FROM `user_dbeintraege` WHERE `fr_uname`='$siteuser1'");

                                if(
                  mysql_num_rows($res) == 0){

                                           
                  mysql_query("INSERT INTO `user_dbeintraege` (fr_cat1) VALUES ('$cat1')");

                                           echo
                  "Eintragung erfolgreich!";

                                }else{
                                     if(
                  mysql_num_rows($res) >= 2){

                                     
                  $vergleich=false;
                                     echo
                  "Fehler aufgetretten!";

                                     }else{
                                          if(
                  $vergleich==true){

                                                    
                  mysql_query("UPDATE `user_dbeintraege` SET fr_cat1 = '$cat1' WHERE fr_uname = '$siteuser1' LIMIT 1");
                                                    echo
                  "Änderungen gespeichert!";

                                          }else{

                                               
                  $glob[error]="<br>
                                               <font color=#FF0000>
                                                 <b>Es kam zu einem internem Fehler.<br></b>
                                                   Bitte Informieren Sie den Administrator
                                               </font>
                                             <br>
                                          <br>
                                              "
                  ;
                                               }
                                         }
                                 }

                  Kommentar


                  • #10
                    nein

                    Kommentar


                    • #11
                      Will hier mir keiner helfen, weil ich nicht weiß wie mans richtig formatiert?
                      Was soll den das?

                      Wie soll ich's denn formatieren, damit mir wer hilft?

                      Bitte helft mir.
                      Ich möcht mich ablenken!
                      Ich hab mit meiner Freundin schluß gemacht, weil sie mich beschießen hat und möcht an der HP weiter baun!
                      Das hilft mir ein wenig.
                      Ich komm doch nur wegen dem jetzt nicht weiter!!!

                      Bitte!!!

                      LG Achim

                      Kommentar


                      • #12
                        die zwei funktionen, die ich genannt habe, hast du dir noch nicht mal angeschaut, deinem code zufolge.

                        Kommentar


                        • #13
                          Achso...
                          ich dachte das gehört einfach in der PHP.ini rein geschrieben...

                          Hier stimmt das so?

                          Notice: Use of undefined constant firmenname - assumed 'firmenname' in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 49

                          Notice: Use of undefined constant beschr - assumed 'beschr' in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 50

                          Notice: Undefined index: beschr in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 50

                          Notice: Use of undefined constant strasse - assumed 'strasse' in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 51

                          Notice: Use of undefined constant ort - assumed 'ort' in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 52

                          Notice: Use of undefined constant plz - assumed 'plz' in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 53

                          Notice: Use of undefined constant ansprechperson - assumed 'ansprechperson' in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 54

                          Notice: Undefined index: ansprechperson in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 54

                          Notice: Use of undefined constant tel - assumed 'tel' in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 55

                          Notice: Undefined index: tel in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 55

                          Notice: Use of undefined constant mail - assumed 'mail' in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 56

                          Notice: Undefined index: mail in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 56

                          Notice: Use of undefined constant homepage - assumed 'homepage' in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 57

                          Notice: Undefined index: homepage in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 57

                          Notice: Use of undefined constant cat2 - assumed 'cat2' in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 60

                          Notice: Undefined index: cat2 in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 60

                          Notice: Use of undefined constant cat3 - assumed 'cat3' in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 61

                          Notice: Undefined index: cat3 in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 61
                          Fehler in Zeile 65 in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php
                          konnte keinen eintrag finden
                          MySQL-Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #11' at line 1
                          Zuletzt geändert von iBumsti; 05.05.2007, 13:31.

                          Kommentar


                          • #14
                            Ich glaub ich hab was falsch gemacht!

                            Jetzt krieg ich nur noch das hier:

                            Parse error: syntax error, unexpected T_LOGICAL_OR in C:\Programme\xampp\htdocs\web\jobboard\eintragbearbeitung_save.php on line 57

                            Kommentar


                            • #15
                              Zeig Zeile 57. Da ist ein einfacher Syntaxfehler drin.
                              Und bitte Code umbrechen!

                              Kommentar

                              Lädt...
                              X