好的,所以我使用了一些我在网上找到的 php/SQL 脚本来托管一个 March Madness 池网站。设置和调试这些家伙的代码很痛苦,但我基本上让它工作了。出于某种原因,作者创建了一个“括号”表和一个“分数”表。
“括号”表要大得多,包含以下变量:id、姓名、人员、电子邮件、时间、决胜局以及所有 63 个人员游戏选择。每个括号的 id 递增。name 实际上是创建者给括号起的名字。person 是人名。等等。
出于某种原因,这家伙制作了一个单独的表格来为括号评分。“scores”表有变量:id、name、score 和scoring_type。
对数据实际显示到网站的脚本进行排序,我不知道创建者在想什么,但几乎所有显示的数据都使用“分数”表。
我的问题:分数表没有人名的变量。因此,排名和括号都按人给他们的括号的名称显示和组织。人们一直在问我谁的括号是谁的。我认为实施它是一个快速的解决方案,但男孩是我错了。我是 MySql 的新手,并不完全了解我在做什么。但是我查了一些东西,我尝试了很多东西,但无法让它工作。
我尝试过什么:我正在考虑将这些表合并为一个,但我不想花几个小时在我每年设置一次的东西上。考虑到这两个表有 2 个相同的值,name 和 id,我尝试做一些查询来匹配这些值并请求变量“person”。然而,这些都没有奏效。
我用几种不同的方式修改了它:
$query = "SELECT person FROM `brackets' WHERE name='$name'";
$result = mysql_query($query,$db) or die(mysql_error());
echo "mysql_result($result)";
我尝试使用和不使用变量。我也试过:
$query = 'SELECT * FROM `brackets';
$result = mysql_query($query,$db) or die(mysql_error());
$dataArray = array(); // create a variable to hold the information
while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) !== false){
$dataArray[] = $row; // add the row in to the results (data) array
}
$personsNameToDisplay = personsName($name, $dataArray);
echo "$personsNameToDisplay";
使用我还尝试了几种方法的功能:
function personsName( $passedBracketName, $dataArray ){
$personsMatchedName;
foreach ($dataArray as $key => $value){
if($value == $passedBracketName ){
$personsMatchedName = $value['person'];
}
}
return $personsMatchedName;
}
我得到的错误是:
Table 'mlmadness.brackets' WHERE name='beasters'' doesn't exist
然而,当我进入 mySQL,然后单击“括号”然后单击“名称”时,肯定有一个括号,其名称值为“野兽”
谢谢