MySQL if / else语句依赖于MySQL结果

时间:2012-04-19 17:50:16

标签: php mysql sql

我需要一些帮助我有点卡住了:

我希望如此,如果表中的一行等于YES,那么它会显示某个图像,但如果表中的行等于NO,则显示另一个图像。

你有什么想法吗?

if($fetch["g1"] == 1) $buffer .= 'Group 1, '; 
if($fetch["g2"] == 1) $buffer .= 'Group 2, '; 
if($fetch["g3"] == 1) $buffer .= 'Group 3, '; 

echo substr($buffer,0,-2).' ';

2 个答案:

答案 0 :(得分:2)

您的问题非常模糊,但这显示了如何获取行并有条件地选择<img>代码的来源:

# fetch the row
$row = mysql_fetch_array(mysql_query("SELECT * FROM table WHERE foo=$bar"));

# determine image to show
$img = $row['field'] == 'YES' ? 'img-one.gif' : 'img-two.gif';

# output
echo "<img src=\"$img\" />";

答案 1 :(得分:1)

所以,我假设你有一张类似于以下内容的表:

CREATE TABLE `mytable` (
    `id` int NOT NULL AUTO_INCREMENT,
    `some_data` varchar(128),
    `is_enabled` int(1) NOT NULL default 0,
    PRIMARY KEY(`id`)
);

假设is_enabled是我们想要查看的行。您可以执行类似以下的操作。

$sql  = 'SELECT `is_enabled`';
$sql .= ' FROM `mytable`';
$sql .= ' WHERE `id` = 1234';

$result = mysql_query($sql);

if ($result && mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_assoc($result)) {
        if ($row['is_enabled']) {
            // This row is enabled.
        } else {
            // This row is disabled.
        }

        //Alternatively, do something like this:
        ?>
        <img src="<?php echo $row['is_enabled'] ? '/row_is_yes.gif' : '/row_is_no.gif'; ?>" />
        <?php
    }
}

但是,如果没有更多信息,这是我能给予的最大帮助。