使用SQL运行If / Else PHP函数

时间:2011-02-20 23:04:37

标签: php sql

感谢您阅读我的问题。

我正在尝试创建一个网站,其中数据库中的信息显示在网页上。最终结果将是look like this,但是对于不同的游戏。

这是一个简单的HTML页面,我希望它看起来像。

到目前为止,我知道我与数据库的连接有效。我跑的时候:

mysql_select_db("DATABASE", $con);
$result = mysql_query("SELECT * FROM DATABASE");
while($row = mysql_fetch_array($result)) {
    echo $row['Title'] . " " . $row['Type'];
    echo "<br />";
}

返回标题和类型。

我想要做的是运行一个If / Else语句,该语句根据卡片类型运行不同的代码块。

while($row = mysql_fetch_array($result)) {
    if ($row['Title'] == 'Hero') { 
        echo "<div>";
    }
} 

我是根据w3schools.com上的教程尝试过的,但它不起作用。

你们有什么想法我应该做什么?

编辑:

这是我试过的:

while($row = mysql_fetch_assoc($result)) {
    if ($row['Title'] == 'Hero') {
        echo $row['Title'] . " Hero.<br>";
    } else {
        echo $row['Title'] . " Who cares.<br>";
    }
}

这是输出(Gimli应该显示为英雄):

For Gondor! Who cares.<br>
Bilbo Baggins Who cares.<br>
Ungoliant's Spwan Who cares.<br>
Gimli Who cares.

编辑2:感谢Phil发现错误,我现在使用Mikushi的方法得到了我想要的结果。非常感谢你们。

2 个答案:

答案 0 :(得分:3)

获取你的mysql结果似乎不对,应该是这样的:

while($row = mysql_fetch_assoc($result)) {
  if ($row['Title'] == 'Hero') { 
    echo ""; }
  } 

mysql_fetch_array将结果作为索引数组获取(1 =&gt; data,2 =&gt; thing),这解释了为什么$ row ['Title']不起作用。 区别:

http://ca2.php.net/mysql_fetch_array

http://ca2.php.net/mysql_fetch_assoc

请总是参考文档,它做得非常好,比w3cschools更好。

答案 1 :(得分:2)

也许这是一件非常明显的事情,但是......

不应该是

if ($row['Type'] == 'Hero') // "Type", not "Title"