我正在尝试创建两个下拉菜单,这样可以将选定的用户添加到选定的团队并提交。
有3个表用户,团队和团队成员。 Teammembers有2列用户和团队的ID。
我创建了一些代码,在下拉菜单中为团队和用户选择名称和ID。我遇到的第一个问题是只显示名称,而不是下拉框中的ID。
其次,提交表单数据时会输入teammembers表,但同时输入0和0而不是提交的用户ID和团队ID。
有谁知道我哪里出错了?
// cpanel-addplayer.php
<link href="default.css" rel="stylesheet" type="text/css" />
<form method="post" action="cpanel_addplayerprocessing.php">
<?
session_start();
include('../utils/dbc.php');
error_reporting(-1);
echo 'Players';
$sql = "SELECT ID, user_name FROM users";
$result = mysql_query($sql);
echo "<select name='user_name'>";
while ($row = mysql_fetch_array($result)) {
echo'<option value="'.$row['ID'].'">'.$row['user_name'].'</option>';
}
echo "</select>";
?>
<?php
echo 'Teams';
$sql = "SELECT ID, name FROM teams";
$result = mysql_query($sql);
echo "<select name='teams'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['ID'] ."'>" . $row['name'] ."</option>";
$teamid = $row['ID'];
}
echo "</select>";
?>
<input type="submit" name="submit" value="Submit">
</form>
// cpanel-addplayerprocessing.php
<?php
error_reporting(-1);
session_start();
include('../utils/dbc.php');
// escape variables for security
a
$sql="INSERT INTO teammembers (userid, teamid)
VALUES ('$userid', '$teamid')";
$result = mysql_query($sql);
if($result){
header('Location: ../thankyou.php');
}
else {
echo "ERROR";
}
mysql_close();
?>
感谢您的帮助!
答案 0 :(得分:0)
使用PHP concatanation生成SQL查询
$ sql =&#34; INSERT INTO teammembers(userid,teamid)VALUES(&#39;&#34;。$ userid。&#34;&#39;,&#39;&#34;。 $ teamid&#34;&#39;)&#34 ;;
并在执行之前打印sql并尝试直接在phpMyAdmin中运行打印的SQL。
echo $ sql; 出口;
如果列名称之前或之前有空格,请检查表格列。