2012-04-04 9 views
0

私のサッカーチームの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 , CONSTRAINT matches_ibfk_1 FOREIGN KEY (team_home) REFERENCES teams (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は)チーム(名前)を参照)

    +0

    javascriptに慣れている場合は、ajaxを使用することができますが、フォーム要素を含むhtmlページを作成する必要があります。まだコードはありますか? – AlexMA

    +0

    どこから始めたらいいのかわからないので、コードはまだありません。私はHTMLで基本的なドロップダウンボックスを作成する方法を知っていますが、オプションはチームテーブルから取得する必要があります。 – Johan

    +0

    ページを作成できますが、オプションになる必要がある各レコードをループして、