Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Daten aus einer Tabelle mit Form Select weiter geben

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Daten aus einer Tabelle mit Form Select weiter geben

    Hi,
    sorry für den langen titel, aber wusste nicht wie ichs anders beschreiben kann.
    Mein Problem sieht folgendermaßen aus. Ich möchte aus einer MySQL Tabelle nur eine spalte auslesen und diese dann in einem Formular mit Hilfe von "<select><option>" anzeigen lassen. Mit einem Submit möchte ich dann den ausgewählten namen (und weitere neue Infos) in eine neue Tabelle schreiben.
    Mein problem ist jetzt, dass ich zwar schön die namen in meinem select-Feld hab, aber sobald ich das Formular abschicken wird immer derselbe Name in die neue Tabelle eingetragen. Jetzt weiß ich leider nicht wie ich das lösen kann. Hier noch der Scriptteil:

    PHP-Code:
    <?php

    //Connect-Datei
    require('connect.php');

    //Auslesen der DB Einträge
    $sql="SELECT * FROM clubs";
    $result=mysql_query($sql$link);

    //Anfang d. Formulars
    echo "<form action='$PHP_SELF' method='post'>";
    echo 
    "<input type='hidden' name='sent' value='1'>";
    echo 
    "<select name='$club'>";
    for(
    $i;$i<mysql_num_rows($result);$i++)
    {
        
    $IDs=mysql_result($result$i'ID');
        
    $clubs=mysql_result($result,$i'club');
        
    #echo "$clubs<br>";
        
    echo "<option>$clubs</option>";
    }
    echo 
    "</select>";
    echo 
    "<input type=submit>";
    echo 
    "</form>";

    //Anfang if($sent==1)
    if($sent==1)
    {
        
    $sql="INSERT INTO events (club) values ('$clubs')";
        
    mysql_query($sql$link);
        echo 
    "$sql";
    }
    ?>
    Danke schon mal im vorraus.
    P.S.: Wenn ich das Formular ohne vorheriges Auslesen der Namen, also die Auswahloptionen per Hand eintrag, funktioniert es.


  • #2
    Woher hast du diesen Code bzw. welches Buch oder Tutorial lehrt sowas? Ist ja absolut grausam

    [edit]
    Dein Problem liegt hier:

    PHP-Code:
    echo "<select name='$club'>"
    $club sehe ich nirgends definiert.

    PHP-Code:
    $sql="INSERT INTO events (club) values ('$clubs')"
    Du verwendesz $clubs oben schonmal und damit wird natürlich immer der letzte Wert deiner Schleife in die DB geschrieben, schaffe unbedingt register_globals ab!!! Das ist nicht nur unschön, sondern sogar gefährlich!

    Kommentar


    • #3
      Ist aus einem Buch von 2002, nicht das beste, hab nun auch ein neueres von Kannengiesser besorgt.

      Kommentar


      • #4
        Zitat von ch4in Beitrag anzeigen
        Ist aus einem Buch von 2002, nicht das beste, hab nun auch ein neueres von Kannengiesser besorgt.
        Verbrennen, sofort verbrennen!

        Kommentar


        • #5
          Oder ins Museum für Skurrilitäten bringen. Die bieten dir bestimmt sogar noch Geld dafür.
          Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

          Kommentar


          • #6
            [OT]
            Bücher verbrennt man nicht. Sind Kulturgut. Auch wenn's nur Rosamunde Pilcher Romane sind...

            Die Kommentare im Code Bsp. sind ja auch Sahne, was?
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              Zitat von nikosch77-new Beitrag anzeigen
              [OT]
              Bücher verbrennt man nicht. Sind Kulturgut. Auch wenn's nur Rosamunde Pilcher Romane sind...

              Die Kommentare im Code Bsp. sind ja auch Sahne, was?
              Da magst du sicher Recht haben aber wenn das da in einem Buch so drin stand dann sollte man die gesamte Auflage vernichten! Denn das was da da steht kann hinten und vorne nicht funktionieren!

              Mal davon hier echo "<select name='$club'>"; ganz abgesehen!
              Denn das hier echo "<option>$clubs</option>"; ist noch viel größerer Blödsinn weil kein Value angegeben ist der zur Weiterverarbeitung bzw. weitersendung wichtig ist!

              mfg der litter
              Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
              http://www.lit-web.de

              Kommentar


              • #8
                Zitat von litterauspirna Beitrag anzeigen
                Mal davon hier echo "<select name='$club'>"; ganz abgesehen!
                Denn das hier echo "<option>$clubs</option>"; ist noch viel größerer Blödsinn weil kein Value angegeben ist der zur Weiterverarbeitung bzw. weitersendung wichtig ist!
                Stimmt nicht ganz. Das erste funktioniert durchaus, da nur die äußeren Quotings gewertet werden und das zweite ist zwar nicht schön, geht aber auch. Ist kein Value angegeben, so wird (zumindest in den gängigen Browsern) der Knoten-Wert von <option> gesendet (hier also $clubs).
                Aber dieser RegisterGlobals-Fanatismus stößt einem schon unangenehm auf.
                Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

                Kommentar


                • #9
                  Denn das hier echo "<option>$clubs</option>"; ist noch viel größerer Blödsinn weil kein Value angegeben ist der zur Weiterverarbeitung bzw. weitersendung wichtig ist!
                  Nicht ganz richtig. Es funktioniert auch ohne.
                  Zitat von selfhtml
                  Normalerweise wird beim Absenden des Formulars der Text eines ausgewählten Listeneintrags übertragen, der zwischen <option> und </option> notiert ist. Sie können jedoch bestimmen, dass intern ein anderer Text übertragen wird.
                  Auch in der Attributreferenz von selfhtml ist value für option nicht als Pflichattribut gekennzeichnet.
                  Da magst du sicher Recht haben
                  Ja,

                  [edit] Trotzdem zu lahm...
                  --

                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                  --

                  Kommentar


                  • #10
                    Ich war schneller!
                    Nachtrag:
                    Zitat von HTML 4.01 Specification
                    value = cdata
                    [CS]This attribute specifies the initial value of the control. If this attribute is not set, the initial value is set to the contents of the OPTION element.
                    Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

                    Kommentar


                    • #11
                      Pflichtbewußt die Originalreferenz zitiert und Zweitquellen als Hörensagen hinterfragt. Respekt!
                      --

                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                      --

                      Kommentar


                      • #12
                        Tja.... was soll man sagen...?
                        Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

                        Kommentar


                        • #13
                          Hi, habs nun endlich dank eurer Hilfe geschafft. Ob der code so perfekt ist, weiß ich nicht, bin ja schließlich noch nicht solange dabei. Könnt ja noch mal drüber schauen und evtl. verbesserungsvorschläge posten.

                          PHP-Code:
                          <?php
                          require('connect.php');

                          $table='clubs';
                          $field='club';
                          $query='SELECT '.$field.' FROM '.$table;
                          $result=mysql_query($query,$link) or die (mysql_error());

                          echo 
                          '<center>';
                          echo 
                          '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
                          echo 
                          'Neues Event eintragen';
                          echo 
                          '<table width="400" border="1"><tr><td>Club: </td><td>';
                          echo 
                          '<select name="club">';
                          for(
                          $i=0;$i<mysql_num_rows($result);$i++)
                          {
                              
                          $club=mysql_result($result,$i'club');
                              echo 
                          '<option>';
                              echo 
                          $club;
                          }
                          echo 
                          '</td></tr><tr><td>';
                          echo 
                          'Datum: </td><td>';
                          echo 
                          '<input type="text" name="datum"></td></tr><tr><td>';
                          echo 
                          'Uhrzeit: </td><td>';
                          echo 
                          '<input type="text" name="zeit"></td></tr><tr><td valign=top>';
                          echo 
                          'Beschreibung: </td><td>';
                          echo 
                          '<textarea name="beschreibung" cols="34" rows="5"></textarea></td></tr><tr><td>&nbsp;</td><td>';
                          echo 
                          '<input type=submit></td></tr></table>';
                          if(
                          $_POST)
                          {
                              
                          $query='INSERT INTO events (club, datum, zeit, beschreibung) VALUE ("'.$_POST['club'].'", "'.$_POST['datum'].'","'.$_POST['zeit'].'", "'.$_POST['beschreibung'].'")';
                              
                              
                          $message='Das Event für ';
                              
                          $message.=$_POST['club'];
                              
                          $message.=' wurde eingetragen.';
                              
                          $result=mysql_query($query,$link) or die(mysql_error());
                              echo 
                          $message;
                          }
                          ?>
                          MfG Chris

                          Kommentar

                          Lädt...
                          X