kostenloser Webspace werbefrei: lima-city


Dropdown Menü ID's übergeben

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    wurstbaum

    wurstbaum hat kostenlosen Webspace.

    Hallo, bin ein neuling in PHP,
    hoffe das ich im Richtigen Forenbereich bin, falls nicht tut mir leid und bitte Verschieben.
    Nur zu Info ein Freund von mir und ich wollen ein Manager Spiel programmieren.

    Also ich erkläre mal kurz was ich habe und was ich vorhabe !!

    1. tabelle "verein" beinhaltet:
    VID(PK) autoincrement & VName

    2. tabelle "myteam" beinhaltet:
    TID(PK) autoincrement & Teamname

    3. tabelle "position" beinhaltet:
    PID(PK) autoincrement & Position

    4. tabelle "spieler" beinhaltet:
    SID autoincrement, Nachname, Vorname, VID(FK), TID(FK), PID(FK) & Kaufpreis.

    So nun zu meinem "Problem"... Ich habe ein Formular mit 3 Eingabefelder und 3 Dropdown Felder.

    Die 3 Eingabefelder sind Nachname, Vorname & Kaufpreis. Wenn ich hier was eingebe und das Formular versende wird das auch in tabelle 4 "spieler" eingetragen so weit so gut.
    Die 3 Dropdown Felder sind "verein", "position" & Käufer bzw. "myteam".
    Die Daten der Dropdown Felder werden jeweils aus dern DB ausgelesen.

    Meine Frage.....
    Wie kann ich das zusammenführen das wenn ich den Nachnamen, Vornamen und Kaufpreis eines Spieler eingebe und die entsprechenden Dropdown Felder auswähle in die Tabelle "spieler" mit eingeführt werden. Und nicht nur die Eingabefelder in der DB drinn stehen???
    Ich weis das man dies mit den jewiligen ID's machen kann, aber nur wie?? Bitte um hilfe !!

    Bsp.:
    Nachname: Lahm (Eingabefeld)
    Vorname: Philipp (Eingabefeld)
    Kaufpreis: 10000000 € (Eingabefeld)
    Verein: FC Bayern München (Dropdown)
    Position: AB (Dropdown)
    Käufer: Käufer A (Dropdown)

    Hier der PHP Code meines Formular name add_spieler.php:
    PHP-Code:
    <form action=do_addspieler.php method=post>
    <?php
    $dbname="*******";
    $dbhost="*******";
    $dbuser="********";
    $dbpass="*******";

    $con = mysql_connect($dbhost , $dbuser , $dbpass);
    mysql_select_db($dbname , $con);
    ?>

    <h7>Verein Auswählen:</h7>
    <div id="eingabe">
    <?php
    echo "<select>";
    $ergebnis = mysql_query("SELECT VName FROM verein");
    while ($Verein = mysql_fetch_array($ergebnis))
    {
    echo "<option value=\"" . $Verein['VName'] . "\">";
    echo $Verein['VName'];
    echo "</option>\n";
    }
    echo "</select>";
    ?>
    </div>
    <br />

    <h7>Position angeben:</h7>
    <div id="eingabe">
    <?php
    echo "<select>";
    $ergebnis = mysql_query("SELECT Position FROM position");
    while ($posi = mysql_fetch_array($ergebnis))
    {
    echo "<option value=\"" . $posi['Position'] . "\">";
    echo $posi['Position'];
    echo "</option>\n";
    }
    echo "</select>\n";
    ?>
    </div>
    <br />

    <h7>Nachname:</h7>
    <div id="eingabe"><INPUT NAME="name" size="20"/>
    </div>
    <br />

    <h7>Vorname:</h7>
    <div id="eingabe"><INPUT NAME="vorname" size="20"/>
    </div>
    <br />

    <h7>Kaufpreis:</h7>
    <div id="eingabe"><INPUT NAME="kaufpr" size="20"/>
    </div>
    <br />

    <h7>Käufer:</h7>
    <div id="eingabe">
    <?php
    echo "<select>";
    $ergebnis = mysql_query("SELECT Teamname FROM myteam");
    while ($Team = mysql_fetch_array($ergebnis))
    {
    echo "<option value=\"" . $Team['Teamname'] . "\">";
    echo $Team['Teamname'];
    echo "</option>\n";
    }
    echo "</select>";
    ?>
    </div>
    <br />

    <input name=addspieler type=submit value=SENDEN>
    Hier der PHP Code von do_addspieler.php:
    PHP-Code:
    <?php
    echo '<pre>';
    print_r($_POST);
    echo '</pre>';

    include ("../config/dbconfig.php");
    $test = mysql_query("SELECT NName FROM spieler WHERE NName='" . mysql_real_escape_string($_POST['name']) . "'");
    $test = mysql_query("SELECT VName FROM spieler WHERE VName='" . mysql_real_escape_string($_POST['vorname']) . "'");
    if(mysql_num_rows($test) != 0)
    {
    echo "Dieser Spieler ist leider schon vergeben!<br>Bitte wähle einen anderen!";

    } else if( $abschicken == ($_POST['name'] !="") ) {
    echo"Bitte den Namen eingeben";
    } else if( $abschicken == ($_POST['vorname'] !="") ) {
    echo"Bitte den Vornamen eingeben";
    } else if( $abschicken == ($_POST['kaufpr'] !="") ) {
    echo"Bitte Kaufpreis eingeben";
    }

    else {
    $kaufpr = strip_tags($_POST['kaufpr']);
    $name = strip_tags($_POST['name']);
    $vorname = strip_tags($_POST['vorname']);

    $sql = "INSERT INTO spieler
    (Kaufpreis, NName, VName)
    VALUES
    ('".$kaufpr."',
    '".$name."',
    '".$vorname."')";

    $eintragen = mysql_query($sql);
    echo"Spieler wurde Erfolgreich eingetragen.";
    }

    ?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Moin!

    Das ist recht einfach zu erreichen.

    Wenn Du die Options für die einzelnen Dropdowns aufbaust, must Du aus der jeweiligen Tabelle auch die passenden IDs auslesen und das Value der einzelnen Options damit vorbelegen.

    Für den Verein sähe das dann so aus:


    <h7>Verein Auswählen:</h7>
    <div id="eingabe">
    <?php
    echo "<select name=\"verein\">";
    $ergebnis = mysql_query("SELECT VID, VName FROM verein");
    while ($Verein = mysql_fetch_array($ergebnis))
    {
    echo "<option value=\"  $Verein['VID']  \"> $Verein['VName'] </option>\n";
    }
    echo "</select>";
    ?>
    </div>


    Dadurch, daß das Option Feld auch einen Namen bekommen hat (hier: verein), steht nach dem Absenden die ID des Vereins in den übergebenen Post-Daten ($vid = $_POST["verein"] ) und kann mit den Spielerdaten gespeichert werden.


    SICHERHEITSHINWEIS: Immer darauf achten, daß niemand über Post-Daten deine SQL-Queries manipulieren kann (Stichwort: SQL-Injection). Niemals den Daten vertrauen, die ein User eingibt, sondern alle übergebenen Daten prüfen und potentiell gefährliche Elemente ausfiltern oder maskieren. PHP stellt mit der Funktion mysql_real_escape_string
    ein Hilfsmittel für einen Basisschutz bereit.


    FF

    Beitrag zuletzt geändert: 12.2.2010 13:12:00 von fatfreddy
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!