我做了一些研究和编码才能完成这个功能:
(if field1 > field 2 echo font color=green else if field 2 > field 1 echo fontcolor=green else echo font black
(双绿有其目的)
$query = "SELECT * FROM table WHERE CATEGORY='15' ";
$result = mysql_query($query);
If ($result [field1] > $result [field2] )
echo " <style font="green"/> This category is green </style> "
else if ($result [field1] > $result [field2] )
echo " <style font="green"/> This category is green </style> "
else
echo " <style font="black"/> This category is black </style> "
这是怎么做到的?有什么错误吗?
答案 0 :(得分:3)
这就是你的代码应该是这样的:
$sql = "SELECT * FROM table WHERE CATEGORY='15' ";
$query = mysql_query($sql);
$result = mysql_fetch_assoc($query);
if($result['field1'] > $result['field2']){
echo '<span style="color:green;">This category is green </span>';
}
else{
echo '<span style="color:black;">This category is black</span>';
}
我建议你在提出这样的问题之前先阅读一些关于PHP的内容。
答案 1 :(得分:1)
怎么样......
if ($result['field1'] != $result['field2'])
echo '<span style="color:green;">This category is green</span>';
else
echo '<span style="color:black;">This category is black</span>';
自说1>2
或2>1
与not equal
相同
- 更短:
$color = ($result['field1'] != $result['field2'] ? 'green' : 'black';
printf('<span style="color:%s;">This category is %s</span>',$color,$color);
答案 2 :(得分:0)
使用
<span style="color:green;">This category is green</span>
和
<span style="color:black;">This category is black</span>
答案 3 :(得分:0)
有一些错误:
$query = "SELECT * FROM table WHERE CATEGORY='15' ";
$result = mysql_query($query);
// 1. you need the row, not the result
$row = mysql_fetch_assoc($result);
if ($row['field1'] > $row['field2'])
{
// 2. style tag is not to be used here, try span, and close the lines with ;
echo " <span style="color: green;">This category is green </span>";
}
// 3. here you should test for "lest than"
elseif ($row['field1'] < $row['field2'])
{
echo " <span style="color: green;">This category is green </span>";
}
else
{
echo " <span style="color: black;">This category is black </span>";
}
答案 4 :(得分:0)
不,这与你如何做到这一点甚至没有关系。在PHP中执行mysql查询后,您将始终必须获取结果。这就是你的代码看起来的样子(我假设你的查询将返回一个结果,而不是多个):
$query = "SELECT * FROM table WHERE CATEGORY='15' ";
$res = mysql_query($query) or die(mysql_errno();
$arr = mysql_fetch_assoc($res);
If ($result['field1'] > $result ['field2'])
{
echo '<span style="color: green;"/>This category is green</span>';
}
else if ($result['field1'] > $result['field2'])
{
echo '<span style="color: green;"/>This category is green</span>';
}
else
{
echo '<span style="color: black;"/>This category is black </span>";
}
所以,总而言之,查询没有被提取,条件语句没问题,但是,因为你似乎对此不熟悉,如果你没有正确关闭它们并且HTML不正确(看起来像CSS)。
如果您需要更多帮助,请告诉我,我可以帮助您。
答案 5 :(得分:0)
当你的mysql调用从数据库返回一些东西时,它不能立即被操纵。这是因为查询返回“资源”,而不是数组。首先必须使用mysql_fetch_array($ result)将资源转换为数组,然后才能通过该数组获取所需的信息。然后,您可以使用括号内的列名来获取任何特定行中所需的数据。
您的代码应该如下所示:
$sql = "SELECT * FROM table WHERE CATEGORY='15'";
$query = mysql_query($sql);//$query is now the resource
$result = mysql_fetch_assoc($query); //$result is now an array built from the resource
现在,你在逻辑上有很多错误。正如其他人所指出的那样,第一和第二个if语句是相同的。既然您实际上能够检查数据,则需要正确编写if语句。像这样:
if($result['field1']>$result['field2']){
echo "<span style='color:green;'> This category is green </span>";
}else{
echo "<span style='color:black;'> This category is black </span>";
}
请注意,当您回显任何内容后,在完成回显之后,必须使用分号;
将其关闭。
此外,如果您想要修复这些特定单词的样式,最好只使用<span>
标记并将其放在其中。
此外,当您在标记内声明样式时,必须以style='characteristic:value;'
最后,当你在"
的echo语句中时,你必须使用单引号'
,否则它会关闭回声。
希望我的小说有所帮助! :P