2012-04-04 7 views
0

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 , CONSTRAINT matches_ibfk_1 FOREIGN KEY (team_home) REFERENCES teams (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))

+0

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

+0

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

+0

Sie können die Seite erstellen, aber verwenden Sie PHP-Variablen anstelle von statischem Text für Ihre Option werden muss und diese