私のサッカーチームのWebサイトを作成しようとしています。私が問題を抱えているのは、マッチデータを選択して挿入するためのドロップダウンボックスを備えたWebフォームを作成することです。私はすでにphpmyadminでmatchを追加することができます。ここでは、team_homeとteam_awayを選択するだけで、リレーショナルデータベースが動作するように見えます。 - データをリレーショナルデータベースに挿入するためにドロップダウンボックスを使用してWebフォームを作成するには
マッチ
- ID(PK
チーム
- ID(AI PK):
私は、次の2つのテーブルを持っています - ai)
- 日付
- team_home(外部キー - >テーブルのチームのフィールド名)
- team_away(外部キー - >テーブルのチームのフィールド名)
- score_home
- score_away
それでは、どのように私は作ることができます私のデータベースにマッチを加えることができるようにドロップダウンボックスを備えたWebフォーム?
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
フォームコード
$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コード
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); ?>
を提出だから何がこのエラーを引き起こしていますか?
エラー:子行を追加または更新できません:外部キー制約が失敗する(roflz.matches、CONSTRAINT matches_ibfk_1 FOREIGN KEY(team_homeは)チーム(名前)を参照)
- ID(AI PK):
javascriptに慣れている場合は、ajaxを使用することができますが、フォーム要素を含むhtmlページを作成する必要があります。まだコードはありますか? – AlexMA
どこから始めたらいいのかわからないので、コードはまだありません。私はHTMLで基本的なドロップダウンボックスを作成する方法を知っていますが、オプションはチームテーブルから取得する必要があります。 – Johan
ページを作成できますが、