0

DreamWeaver を使用して、PHP を初めて使用します。

ただし、これを完了するのを手伝ってくれる人を探しています。

MYSQL に 3 つのテーブルがあります。

選手権

  • idチャンピオンシップ
  • 名前
  • 詳細

ユーザー

  • idUsers
  • ユーザー名
  • パスワード

参加者

  • idparticipants
  • idチャンピオンシップ
  • ファーストネーム
  • 苗字
  • 生年月日
  • 全国ランキング
  • 写真
  • 電話番号
  • 電子メールアドレス
  • IdUsers

私がやろうとしているのは、2 つの既存の ID を取得Championships, Usersし、フォームを送信する際に参加者テーブルに挿入して、彼が参加しているチャンピオンシップとそのユーザーを特定することです。重複を避けるため。

最後の行に示されている解析エラーがあるようです。

助けてください!

ここにコードがあります

<?php require_once('Connections/ACBSEntrySystem.php'); ?>
   <?php
       if (!function_exists("GetSQLValueString")) {
         function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 

{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

      switch ($theType) {
      case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
      case "long":
      case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
      case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
      case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
      case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
  }
 }

      $editFormAction = $_SERVER['PHP_SELF'];
      if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO participants (idparticipants, idChampionships, FirstName, LastName, DateOfBirth, NationalRanking, Photo, PhoneNumber, EmailAddress, IdUsers) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['idparticipants'], "int"),
                       GetSQLValueString($_POST['idChampionships'], "int"),
                       GetSQLValueString($_POST['FirstName'], "text"),
                       GetSQLValueString($_POST['LastName'], "text"),
                       GetSQLValueString($_POST['DateOfBirth'], "date"),
                       GetSQLValueString($_POST['NationalRanking'], "int"),
                       GetSQLValueString($_POST['Photo'], "text"),
                       GetSQLValueString($_POST['PhoneNumber'], "double"),
                       GetSQLValueString($_POST['EmailAddress'], "text"),
                       GetSQLValueString($_POST['idUsers'], "int"));

  mysql_select_db($database_ACBSEntrySystem, $ACBSEntrySystem);
  $Result1 = mysql_query($insertSQL, $ACBSEntrySystem) or die(mysql_error());
}

 mysql_select_db($database_ACBSEntrySystem, $ACBSEntrySystem);
 $query_AvailableChampionships = "SELECT idChampionships, Name FROM Championships ORDER BY Name ASC";
 $AvailableChampionships = mysql_query($query_AvailableChampionships, $ACBSEntrySystem) or die(mysql_error());
 $row_AvailableChampionships = mysql_fetch_assoc($AvailableChampionships);
 $totalRows_AvailableChampionships = mysql_num_rows($AvailableChampionships);



 mysql_select_db($database_ACBSEntrySystem, $ACBSEntrySystem);
 $query_ActiveUser = "SELECT idUsers FROM Users";
$ActiveUser = mysql_query($query_ActiveUser, $ACBSEntrySystem) or die(mysql_error());
$row_ActiveUser = mysql_fetch_assoc($ActiveUser);
$totalRows_ActiveUser = mysql_num_rows($ActiveUser);

mysql_select_db($database_ACBSEntrySystem, $ACBSEntrySystem);
$query_InsertingARecord = "SELECT * FROM participants";
$InsertingARecord = mysql_query($query_InsertingARecord, $ACBSEntrySystem) or die(mysql_error());
$row_InsertingARecord = mysql_fetch_assoc($InsertingARecord);
$totalRows_InsertingARecord = mysql_num_rows($InsertingARecord);
?>

フォームは、HTML の本文のここから始まります。

<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
              <table align="center">
                <tr valign="baseline">
                  <td nowrap align="right">IdChampionships:</td>
                  <td><select name="idChampionships">
                    <?php 
do {  
?>
                    <option value="<?php echo $row_AvailableChampionships['idChampionships']?>" ><?php echo $row_AvailableChampionships['Name']?></option>
                    <?php
} while ($row_AvailableChampionships = mysql_fetch_assoc($AvailableChampionships));
?>
                  </select></td>
                <tr>
                <tr valign="baseline">
                  <td nowrap align="right">FirstName:</td>
                  <td><input type="text" name="FirstName" value="" size="32"></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap align="right">LastName:</td>
                  <td><input type="text" name="LastName" value="" size="32"></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap align="right">DateOfBirth:</td>
                  <td><input type="text" name="DateOfBirth" value="" size="32"></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap align="right">NationalRanking:</td>
                  <td><input type="text" name="NationalRanking" value="" size="32"></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap align="right">Photo:</td>
                  <td><input type="text" name="Photo" value="" size="32"></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap align="right">PhoneNumber:</td>
                  <td><input type="text" name="PhoneNumber" value="" size="32"></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap align="right">EmailAddress:</td>
                  <td><input type="text" name="EmailAddress" value="" size="32"></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap align="right">&nbsp;</td>
                  <td><input type="submit" value="Insert record"></td>
                </tr>
              </table>
              

ここからユーザーのループが開始され、idUserがエコーされます

<input type="hidden" name="idparticipants" value="">
                  <input type="hidden" name="IdUsers" value="<?php do {echo $row_ActiveUser['idUsers'];while ($row_ActiveUser = mysql_fetch_assoc($ActiveUser));?>">
                  <input type="hidden" name="MM_insert" value="form1">
                </form>
                <p>&nbsp;</p>
              </div>
            </div>
          </div>
        </section>
        
        <!--==============================footer================================-->
       <?php include("../include/footer.php");?>
      </div>
    </div>
    </body>
    
    </html>
    <?php
    mysql_free_result($AvailableChampionships);
    
    mysql_free_result($ActiveUser);
    
    mysql_free_result($InsertingARecord);
    ?>

エラーが発生しています

解析エラー: 構文エラー、191 行目の /Applications/XAMPP/xamppfiles/htdocs/entryform.php の予期しない $end

4

1 に答える 1

0

do-while ループに右中括弧がありません。

`value="<?php do {echo $row_ActiveUser['idUsers'];while ($row_ActiveUser = mysql_fetch_assoc($ActiveUser));?>">`

する必要があります

value="<?php
do {
    echo $row_ActiveUser['idUsers'];
} while ($row_ActiveUser = mysql_fetch_assoc($ActiveUser));
?>">
于 2013-06-30T05:28:33.987 に答える