0

我试图保留用户返回编辑帖子时选中的单选按钮。我很难使用正确的语法来使其正常工作。

在添加 if 语句之前一切正常。

for($index=0; $index < $indexCount; $index++)
{
if (substr("$dirArray[$index]", 0, 1) != ".")
{
echo"<div class=\"imageselect\"><br><div class=\"imageselectholder\"><img src =\"server/php/files/".$me."/medium/" . $dirArray[$index] ." \" /><br></div><div class=\"imageselecttxt\">Check to use this image</div><div class=\"imageselectcheck\"><input type=\"radio\" name=\"fpi\" value=\"" . $dirArray[$index] ."\" .if($_SESSION['fpi'] == $dirArray[$index]) \"checked=\"checked\" \"/></div> </div>";
}}
?>
4

3 回答 3

0

AFAIK,你不能在回声中有“if”语句。

改为这样做:

if($_SESSION['fpi'] == $dirArray[$index])
{
   $checked ="checked";
}
else
{
   $checked = "";
}
echo "...<input type=\"radio\" name=\"fpi\" value=\"" . $dirArray[$index] ."\" $checked /></div> </div>";
于 2013-01-15T19:23:40.110 回答
0

我会这样做,还清理了您的报价:

for($index = 0 ; $index<$indexCount ; $index++){
    if(substr("$dirArray[$index]",0,1)!="."){
        if($_SESSION['fpi']==$dirArray[$index]){
            $checked = ' checked="checked" ';
        }else{
            $checked = '';
        }

        echo '<div class="imageselect"><br><div class="imageselectholder">
        <img src ="server/php/files/'.$me.'/medium/'.$dirArray[$index].' " />
        <br></div>
        <div class="imageselecttxt">Check to use this image</div><div class="imageselectcheck">
        <input type="radio" name="fpi" value="'.$dirArray[$index].'" '.$checked.' "/></div> </div>';
    }
}
于 2013-01-15T19:24:33.323 回答
0

我喜欢将这种类型的东西提取到模板中。这消除了“回声”或“打印”的混淆。另外,它是一个很好的逻辑分离(参见 Code Igniter)。除此之外,我几乎遵循之前海报所建议的相同思路。

<?   
    for($index=0; $index < $indexCount; $index++) 
    {
        if (substr("$dirArray[$index]", 0, 1) != ".")  
        {  
            $checked = ($_SESSION['fpi'] == $dirArray[$index] ? 'checked' : '');
?>
<div class="imageselect"><br>
    <div class="imageselectholder">
        <img src ="server/php/files/<?=$me?>/medium/<?=$dirArray[$index]?>"/><br>
    </div>
    <div class="imageselecttxt">Check to use this image</div>
    <div class="imageselectcheck">
        <input type="radio" name="fpi" value="<?= $dirArray[$index] ?>" <?= $checked ?> />
    </div> 
</div>

<?  } }   ?>
于 2013-01-15T19:45:57.517 回答