Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] drop down menü + mysql

Einklappen

Neue Werbung 2019

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

  • [Erledigt] drop down menü + mysql

    hi leute,


    hab ein drop down menü programmiert das seine info aus der mysql datenbamk nimmt, jedoch gibt er mir da irgendwie beim neuladen im drop down menü auch die id mit an.
    was hab ich falsch gemacht?

    hoffe jemand versteht was ich meine, da es schwierig zu erklären ist nur mit worten.

    würde mich über eine antwort freuen.


    mfg

    vera

    hier meine 3 scripte:

    class.php

    PHP-Code:
    <?php

    class dbzugriff
    {
        public 
    $row;
        public 
    $num;
        public 
    $queryc;
        function 
    init($query)
        { 
            
    $this->queryc $query;
            if (
    $this->queryc != '')
                
    $this->num mysql_num_rows($this->queryc);
        }
        function 
    readrow()
        {
            if (
    $this->queryc!='')
                
    $this->row mysql_fetch_array($this->querycMYSQL_ASSOC);
            if (
    $this->row!='')
                foreach (
    $this->row as $k=>$elem)
                {
                    
    $this->$k $elem;
                }
        }
    }


    function 
    result($statement)
    {
        
    $DBdatenbank "vermietung";
        
    $DBServer     "localhost";
        
    $DBuser       "root";
        
    $DBpasswort   "";
        
    $link MYSQL_CONNECT($DBServer$DBuser$DBpasswort) or die(mysql_error());
        
    mysql_select_db($DBdatenbank,$link) or die(mysql_error());
        
    $resulty mysql_query($statement,$link);
        if (
    mysql_error()) 
            die (
    "MySQL-Error: " mysql_error());
        return 
    $resulty;
    }

    ?>
    einheit.php

    PHP-Code:
    <html>
    <
    body>
        <
    link rel="stylesheet" type="text/css" href="anmeldung.css">

        <
    p><div id="schrift"><h1 align="center">Mietvertrag</h1></p>

        <
    div id="zentrieren">
        <
    form action="mietvertrag.php" method="post">
            
            <
    table>
                <
    tr>
                    <
    td></td>
                    <
    td><font size="5">Einheit:</td>
                    <
    td><input name="raum">
                </
    tr>
                <
    tr>
                    <
    td></td>
                    <
    td><font size="5">Gr&ouml;&szlig;e:</td>
                    <
    td><input name="qm"></td>
                </
    tr>
                <
    tr>
                    <
    td></td>
                    <
    td><font size="5">Info:</td>
                    <
    td><textarea name="info"></textarea></td>
                </
    tr>
                <
    tr>
                    <
    td></td><td></td><td></td>
                </
    tr>
                <
    tr>
                    <
    td></td><td></td>
                    <
    td><input type="submit" name="gesendet"></td>
                </
    tr>
            </
    table>
        </
    form>
        </
    div>

    </
    body>
    </
    html

    mietvertrag.php

    PHP-Code:
    <?php

    include_once("class.php");

        if(isset(
    $_POST["gesendet"]))
        {
            
    mysql_connect("""root");
            
    mysql_select_db("vermietung");
            
            
    $sqlab"insert vertrag";
            
    $sqlab.= "(mieter, raum, kaltmiete, qm, nebenkosten";
            
    $sqlab.= ") values ";
            
    $sqlab.= "('" $_POST["mieter"] . "', ";
            
    $sqlab.= "'" $_POST["raum"] . "', ";
            
    $sqlab.= "'" $_POST["kaltmiete"] . "', ";
            
    $sqlab.= "'" $_POST["qm"] . "', ";
            
    $sqlab.= "'" $_POST["nebenkosten"] . "')";
            
            
    mysql_query($sqlab);
            
            
    $nummysql_affected_rows();
            if(
    $num>0)
            {
                echo 
    "<h2 align= 'center'><font color='0000FF'>";
                echo 
    "Danke für die Eingabe</h2><p>";
                echo 
    "</font>";
            }
            else
            {
                echo 
    "<h2 align= 'center'><font color='#ff0000'>";
                echo 
    "Es ist ein Fehler aufgetreten</h2><p>";
                echo 
    "</font>";
            }
        }


    $db = new dbzugriff;

    $res result("
                    select *
                    from vertrag
                    ORDER BY raum
    "
    );



    $db->init($res);



    echo 
    "
        <html>
        <body>
            <link rel='stylesheet' type='text/css' href='anmeldung.css'>
            
            <p><div id='schrift'><h1 align='center'>Mietvertrag</h1></p>
            
            <div id='zentrieren'>
            <form action='mietvertrag.php' method='post'>
                
                <table>
                    <tr>
                        <td></td>
                        <td><font size='5'>Mieter:</td>
                        <td><input name='mieter'>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td><font size='5'>Einheit:</td>
                        <td>
    "
    ;

     
    echo 
    "
        <select name='raum'>
    "
    ;



    for (
    $i=1$i<=$db->num$i++){
        
    $db->readrow();
      
      
      
    echo 
    "
        <option style='font-size:20px;' value=
    $db->id $selected->$db->raum</option>
    "
    ;
    }

    echo 

        </select><p>
    "
    ;


     echo 
    "                   
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td><a href='einheit.php'>hinzuf&uuml;gen</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td><font size='5'>Kaltmiete:</td>
                        <td><input name='kaltmiete'></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td><font size='5'>Nebenkosten:</td>
                        <td><input name='nebenkosten'></td>
                    </tr>
                    <tr>
                        <td></td><td></td><td></td>
                    </tr>
                    <tr>
                        <td></td><td></td>
                        <td><input type='submit' name='gesendet'></td>
                    </tr>
                </table>
            </form>
            </div>
        
        </body>
        </html>
    "
    ;

    ?>

    [MOD: Lesemodus ein]


  • #2
    Könntest Du bitte die PHP Tags hier im WYSIWYG Editor nutzen, damit dein Code leichter lesbar ist? Danke.

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      1. siehe vorpost, der Code ist echt beschissen zum lesen
      2. mach das error_reporting an und zeige die Fehlermeldungen bitte!
      3. Das ist definitiv falsch
      PHP-Code:
      $sqlab"insert vertrag"
      das müsste
      PHP-Code:
      $sqlab"insert INTO vertrag"
      heißen

      Für den Rest hab ich ohne BB-Tags keine Lust mehr...
      "My software never has bugs, it just develops random features."
      "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

      Kommentar


      • #4
        [MOD: Verschoben nach oben]

        Kommentar


        • #5
          So, schon besser. Erstmal (wie bereits erwähnt) stimmt dein INSERT Befehl nicht und du kannst deinen SQL Befehl (SELECT *...) doch einfach anpassen und statt * doch die Spaltennamen angeben, die Du ausgeben willst. So gibst Du alle Spalten aus (mit foreach).

          Wolf29
          while (!asleep()) sheep++;

          Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

          Kommentar


          • #6
            Vertrau keiner User-Eingabe:
            PHP-Code:
            $sqlab.= "'" $_POST["nebenkosten"] . "')";

            // besser so:
            $sqlab.= "'" mysql_real_escape_string($_POST["nebenkosten"]) . "')"
            oder noch besser Prepared Statements
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              erstmal danke.
              jedoch glaub ich ihr habt mein problem nicht erkannt oder besser gesagt ich habs schlecht umschrieben

              es funktioniert mit der eingabe und er übernimmt auch alles in die datenbank.
              jedoch wenn ich erneut auf absenden drücke übernimmt er die "id" mit ins drop down menü.
              somit hab ich meine ausgabe plus noch eine nummer(id), das will ich aber nicht.

              schwierig zu erklären, wenn ichs zeigen könnte ist es jedem nach 10 sekunden klar was ich meine.
              hehehe

              @Paul.Schramenko
              "insert INTO" hab ich jetzt geändert, ging aber auch ohne.
              trotzdem danke!
              richtig ist besser als falsch das läuft.

              @wolf29
              das mit "select *" hab ich nicht verstanden?


              vera

              Kommentar


              • #8
                Zitat von Arne Drews Beitrag anzeigen
                Vertrau keiner User-Eingabe:
                Prepared Statements
                *hüstel* Dem kann ich nicht zustimmen
                Von den ganzen Fragezeichen bekomm ich Alpträume
                "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

                Kommentar


                • #9
                  Usereingaben bezog sich auf mysql_real_escape_string().
                  Wo kannst Du da nicht zustimmen?

                  Die prepared statements waren darauf bezogen, daß darin die maskierung für den db-zugriff automatisch erfolgt
                  und man auf mysql_real_escape_string() verzichten kann...
                  Competence-Center -> Enjoy the Informatrix
                  PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                  Kommentar


                  • #10
                    Ich kann den Prepared Statements nicht zustimmen... bin kein Fan von denen VOn daher kann ich nicht zustimmen dass das "besser" ist.
                    "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

                    Kommentar


                    • #11
                      Besser ist das, User sind IMMER böse!
                      Glaube nicht, du kennst den dümmsten User, es gibt immer welche, die die Messlatte weiter nach oben setzen können...
                      "My software never has bugs, it just develops random features."
                      "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                      Kommentar


                      • #12
                        @Destruction:
                        Naja, das is ja kein Grund davon abzuraten.
                        Maskierung á la mysql_real_escape_string() sollte zumindest drin sein!
                        Competence-Center -> Enjoy the Informatrix
                        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                        Kommentar


                        • #13
                          schieb

                          Kommentar


                          • #14
                            Zitat von php_1975 Beitrag anzeigen
                            PHP-Code:
                            echo "
                                <option style='font-size:20px;' value=
                            $db->id  $selected->$db->raum</option>
                            "

                            Der value-Werte sollte in anführungszeichen stehn: value="..."
                            slected sollte man selected="selected" schreiben (XHTML)

                            Was meinst du mit "er gibt die id mit an"? Ich verstehe immer noch nicht was passieren soll

                            OT:
                            So Einträge wie #13 sind uncool... finde ich zumindest
                            "My software never has bugs, it just develops random features."
                            "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                            Kommentar


                            • #15
                              Erklär mal, was mir #13 gemeint ist... Hab' das gar nicht verstanden...
                              Competence-Center -> Enjoy the Informatrix
                              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                              Kommentar

                              Lädt...
                              X