Ich bin damit beschäftigt, eine Website für meine Fußballmannschaft zu erstellen. Das Problem, mit dem ich Probleme habe, ist das Erstellen eines Webformulars mit Dropdown-Boxen, um die Matchdaten auszuwählen und einzufügen. Ich kann bereits eine Übereinstimmung in phpmyadmin hinzufügen, wo ich einfach team_home und team_away auswählen kann, also scheint die relationale Datenbank zu funktionieren.Wie kann ich ein Webformular mit Drop-Down-Boxen erstellen, um Daten in eine relationale Datenbank einzufügen
Ich habe die folgenden zwei Tabellen bekam:
Teams
- id (pk - ai)
- Name
Spiele
- id (pk - ai)
- Datum
- team_home (Fremdschlüssel -> Tabelle Teams Namensfeld)
- team_away (Fremdschlüssel -> Tabelle Teams Feldname)
- score_home
- score_away
So wie kann ich machen ein Webformular mit Drop-Down-Boxen, damit ich Matches in meine Datenbank einfügen kann?
UPDATE:
I've got the form working with drop down boxes, but I'm getting the following error when I'm submitting the form:
Error: Cannot add or update a child row: a foreign key constraint fails (
roflz
.matches
, CONSTRAINTmatches_ibfk_1
FOREIGN KEY (team_home
) REFERENCESteams
(name
))I've posted my submit form code and insertmatch.php code
Formular senden Code
$sql="SELECT id, name FROM Teams";
$result=mysql_query($sql);
$options="";
while ($row=mysql_fetch_array($result)) {
$id=$row["id"];
$name=$row["name"];
$optionshometeam.="<OPTION VALUE=\"$id\">".$name;
$optionsawayteam.="<OPTION VALUE=\"$id\">".$name;
}
?>
<form action="insertmatch.php" method="post">
<SELECT NAME=Teams>
<OPTION VALUE=0>Home Team
<?=$optionshometeam?>
</SELECT>
<SELECT NAME=Teams>
<OPTION VALUE=0>Away team
<?=$optionsawayteam?>
</SELECT>
Score Home team: <input type="text" name="score_home" />
Score Away team: <input type="text" name="score_away" />
Match Date: <input type="text" name="score_away" />
<input type="submit" />
</form>
insertmatch.php Code
mysql_select_db("roflz", $con);
$sql="INSERT INTO matches (team_home, team_away, score_home, score_away, date)
VALUES
('$_POST[team_home]','
$_POST[team_away]','
$_POST[score_home]','
$_POST[score_away]'
$_POST[date]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "Match added";
mysql_close($con);
?>
Was verursacht diesen Fehler?
Fehler: Kann nicht hinzugefügt werden oder ein Kind Zeile aktualisieren: ein Fremdschlüssel fehlschlägt (roflz.matches, CONSTRAINT matches_ibfk_1 FOREIGN KEY (team_home) LITERATUR Teams (Name))
Sie müssen eine HTML-Seite erstellen, wahrscheinlich mit einem Formularelement darin - obwohl Sie Ajax verwenden könnten, wenn Sie mit Javascript vertraut sind. Hast du schon einen Code? – AlexMA
Ich habe noch keinen Code, weil ich einfach keine Ahnung habe, wo ich anfangen soll. Ich weiß, wie man eine grundlegende Dropdown-Box in HTML erstellt, aber die Optionen sollten aus der Team-Tabelle abgerufen werden. – Johan
Sie können die Seite erstellen, aber verwenden Sie PHP-Variablen anstelle von statischem Text für Ihre