我正在构建一个简单的网络表单(或者绑定!),其中显示了一个足球队列表。这个团队列表位于单列mysql表中。如何在Web表单上选择一个团队,以便在表单上再次无法选择该团队?即确保他们不会被意外选中以互相比赛,或同时进行两次比赛。到目前为止,我的代码如下所示,似乎工作正常。它包括其他主队和客队的相同代码的其他几个迭代。任何指针/帮助都非常感激。
<select name="hometeam">
<?php
$query = "SELECT * FROM teams order by teamname";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
echo "<option value=\"".$row['teamname']."\">".$row['teamname']."</option>\n ";
}
?>
</select>
<select name="hometeam2">
<?php
$query = "SELECT * FROM teams order by teamname";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
echo "<option value=\"".$row['teamname']."\">".$row['teamname']."</option>\n ";
}
?>
</select>
答案 0 :(得分:0)
我方法:一个可能的简单解决方案可以通过javascript。也就是说,一旦在两个组合框中进行了选择,那么在将表单提交到服务器之前,您可以比较这两个值,如果发现它们相同,那么您可以提醒用户这个。
另外,只是添加,虽然你使用javascript验证,但它总是建议在服务器端重新验证,以避免任何黑客攻击。希望这会有所帮助。
II方法:如果您不希望在其他下拉列表中显示在一个下拉列表中选择的团队,那么您将不得不以下列方式使用Ajax:
在一个下拉列表中选择值时 - 触发ajax请求 - 将所选值从下拉列表发送到服务器。现在,修改服务器上的查询以选择除此值之外的所有值,然后将值发送回客户端。这样,用户将能够看到除所选值之外的值。
希望这有帮助。
答案 1 :(得分:0)
jQuery会让这很简单:
<script type="text/javascript">
$(document).ready(function() {
$("select[name=hometeam]").change(function() {
if ( $(this).val() == $("select[name=hometeam2]").val() ) {
alert("This team cannot play itself!");
}
});
$("select[name=hometeam2]").change(function() {
if ( $(this).val() == $("select[name=hometeam]").val() ) {
alert("This team cannot play itself!");
}
});
});
</script>