我有一个查询检查表中的一些数据(名称和与之关联的数字)并返回其中一个我需要设置为变量。
然而,当我需要考虑表中尚未出现的项目时,我遇到了麻烦 - 新人 - 因为他们应该被认为是0作为数据,但很明显他们没有在数据库中。
脚本如下:
$jQuery = mysql_query("SELECT team, points FROM DCO_standings_teams WHERE competition='1' AND team='$teamname' AND year='$lastyear'");
{
$points="$row[1]";
$pointsmult = $points*50;
$pointsoffer = $wage_offer/100;
$bid_total = $pointsoffer+$pointsmult+$loyaltybonus;
}
在这种情况下,说A队比去年有12分。它将“12”设为$ points并继续进行所有其他计算。
我需要告诉网站,如果在DCO_standings_teams表中没有找到记录,那么它应该将$ points设置为0。
感谢任何帮助,谢谢!
答案 0 :(得分:0)
你已经这样做了......
if($points === null){
$points = 0;
}
侧点:
$points="$row[1]";
毫无意义....只需:$points = $row[1];
答案 1 :(得分:0)
我会将值转换为整数。像这样:
$points = (int) $row[1];
答案 2 :(得分:0)
当您查询数据库时,您将获得结果。如果你没有结果,那么你必须有一个“新人”。
那么,让我们在继续代码之前计算'点数',不是吗?
正如其他人所暗示的,你应该使用除mysql_ *以外的其他功能,但这不是我关注的问题。
$jQuery = mysql_query("SELECT team, points FROM DCO_standings_teams WHERE competition='1' AND team='$teamname' AND year='$lastyear'");
$points = $row[1];
if($points == null) { // if there are no points (not 0, because that means there are 0 points)
die("You are a newcomer.");
// do newcomer logic here
} elseif($points > 0) {
//do other logic here
}
答案 3 :(得分:0)
你可以这样做:
$result = mysql_query("SELECT team, points FROM DCO_standings_teams WHERE competition='1' AND team='{$teamname}' AND year='{$lastyear}'");
if(mysql_num_rows($result)) {
$row = mysql_fetch_row($result);
$points = $row[1];
}
else {
$points = 0;
}
$pointsmult = $points*50;
$pointsoffer = $wage_offer/100;
$bid_total = $pointsoffer+$pointsmult+$loyaltybonus;