elseif仅显示2张图片

时间:2012-12-15 05:05:58

标签: php mysql database if-statement

好的,我有单选按钮供用户从某些图像中选择作为图像。他们的图像以默认图像开始,可以将其更改为其他图像。这是用于显示图像的单选按钮和PHP:

    <input type="radio" id="Default" name="change_image" value="0" />
    <input type="radio" id="Unknown" name="change_image" value="1" />     
    <input type="radio" id="Gasmask" name="change_image" value="2" />     

    <?php 
if ( $user_image < 1 )
{
    echo 
    '<img src="images/user_image/Default.png" width="60" height="60" />';
} 
elseif ( $user_image = 1 )
{
    echo 
    '<img src="images/user_image/Unknown.png" width="60" height="60" />';
}
elseif ( $user_image > 1 )
{
    echo 
    '<img src="images/user_image/GasMask.png" width="60" height="60" />';
}
?>

嗯,if和first else的工作,但是第三个ifif将不会显示该图像?他们有什么理由吗?

3 个答案:

答案 0 :(得分:4)

您使用=这是一个赋值语句而不是比较语句。使用==进行比较!

另外,你正在做的事情似乎有点开销(对我而言,我不是专家),但请注意我看不出你如何处理$user_image。我将如何做到这一点:

<input type="radio" id="Default" name="change_image" value="Default" />
<input type="radio" id="Unknown" name="change_image" value="Unknown" />     
<input type="radio" id="Gasmask" name="change_image" value="Gasmask" />     

<?php 
if (isset($_POST['change_image'])) { //make sure you validate that the right stuff is being posted
    $user_image = $_POST['change_image'];
    echo "<img src='images/user_image/".$user_image.".png' width='60' height='60' />";
}

我还没有测试变量是否正确连接,但只要遵循名称约定为单选按钮的值,这将为您节省许多if语句。我希望这有帮助!

答案 1 :(得分:2)

我相信这是由于你的第二个问题。

elseif ( $user_image = 1 )

您应该测试相等性,而是将值1分配给$ user_image。尝试将其替换为:

elseif ( $user_image == 1 )

答案 2 :(得分:2)

如果条件人使用双等号

,则分配
if ( $user_image < 1 )
{
    echo 
    '<img src="images/user_image/Default.png" width="60" height="60" />';
} 
elseif ( $user_image == 1 )
{
    echo 
    '<img src="images/user_image/Unknown.png" width="60" height="60" />';
}