Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在回音中有if语句_Php_Database_If Statement_Pdo - Fatal编程技术网

Php 在回音中有if语句

Php 在回音中有if语句,php,database,if-statement,pdo,Php,Database,If Statement,Pdo,谁能告诉我如何将if语句包含在这个echo中?我需要我的while语句来继续生成结果,并且我需要一种有效的方法在div类海报之后将if语句插入到这段代码中,有人能给出任何建议吗 while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ echo ' <div class="wrapper"> <div class="submissions"> <div class="logo-logo"><h2>Quest

谁能告诉我如何将if语句包含在这个echo中?我需要我的while语句来继续生成结果,并且我需要一种有效的方法在div类海报之后将if语句插入到这段代码中,有人能给出任何建议吗

while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
echo ' 
<div class="wrapper">
<div class="submissions">
<div class="logo-logo"><h2>Question.</h2>
<div class="checkboxes">'.$row['formtype'].'
</div>

</div>
<div class="top-submit">
&#8220'. $row["actual_quote"] . '&#8221;
</div>
<div class="poster">- '. $row["poster"].'
if(isset($row3['voted'])){
if(isset($row3['ip'])){

    echo "You have already voted for this.";
}
}
else{

    echo "<form action = '' method = 'post'> <input type = 'submit' name = 'like' value = 'like'> <input type = 'submit' name = 'dislike' value = 'dislike'></form>";

}
<div class = "like">

</div>
<div class = "dislike">
</div>
</div>
<!-- use select to get the items to stay on the page-->

</div>
</div>
</div>
';
}
while($row=$stmt->fetch(PDO::fetch_ASSOC)){
回声'
问题。
“.$row['formtype']”
“.“$行[“实际”]。”;
-“.$row[“海报”]”
如果(isset($row3[‘投票’])){
如果(isset($row3['ip'])){
echo“你们已经投了赞成票。”;
}
}
否则{
回声“;
}
';
}

您只需将echo分解,并在两者之间包含if语句,例如

echo 'sample content';
if($x=1) 'if statement content';
echo 'more sample content';
您只需在
if
之前“完成”第一次
echo
,然后开始新的一次

替换:

<div class="poster">- '. $row["poster"].'
-”$行[“海报”]。'
与:

-”$第[“海报”]行;


与:

echo'
另一种方法是这样使用三元运算符:

echo ('if statement') ? 'value on true' : 'value on false';

但是,如果没有简短的语句和值可供响应,则会降低可读性,因此请明智地使用它。

将HTML从PHP逻辑中删除,并放入单独的模板文件:

<div class="wrapper">
    <div class="submissions">
        <div class="logo-logo">
            <h2>Question.</h2>

            <div class="checkboxes">
                <?php echo $row['formtype']; ?>
            </div>
        </div>

        <div class="top-submit">
            &#8220<?php echo $row["actual_quote"]; ?>&#8221;
        </div>

        <div class="poster">
            - <?php echo $row["poster"]; ?>
            <?php echo if(isset($row3['voted'])): ?>
                <?php echo if(isset($row3['ip'])): ?>
                    You have already voted for this.
                <?php endif; ?>
            <?php else: ?>
                <form action = '' method = 'post'> <input type = 'submit' name = 'like' value = 'like'>
                    <input type = 'submit' name = 'dislike' value = 'dislike'>
                </form>
            <?php endif; ?>

            <div class = "like">

            </div>

            <div class = "dislike">

            </div>
        </div>
        <!-- use select to get the items to stay on the page-->

    </div>
</div>

我不会使用
echo
输出您的HTML。它使代码更难读写,因为您需要不断记住不要意外关闭报价,更不用说这是一个(小)CPU周期和内存浪费

取而代之的是,脱离php直接流式传输内容,只返回到php中进行逻辑和回显变量。此外,您应该使用来编码您正在回音的内容

我假设
$row3
可能在您的代码中更高,所以我将其单独留给了键
投票
ip
。你有一个额外的结束
div
,我把它删除了

<?php
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
    ?>
<div class="wrapper">
    <div class="submissions">
        <div class="logo-logo"><h2>Question.</h2>
            <div class="checkboxes"><?php echo htmlentities($row["formtype"]); ?></div>
        </div>
        <div class="top-submit">
            &#8220;<?php echo htmlentities($row["actual_quote"]); ?>&#8221;
        </div>
        <div class="poster">- <?php echo htmlentities($row["poster"]);
    if(isset($row3["voted"]) && isset($row3["ip"]))
    {
        echo "You have already voted for this.";
    }
    else
    {
        ?>
            <form action="" method="post"> <input type="submit" name="like" value="like" /> <input type="submit" name="dislike" value="dislike" /></form>
        <?php
    }
    ?>
            <div class = "like"></div>
            <div class = "dislike"></div>
        </div>
        <!-- use select to get the items to stay on the page-->

    </div>
</div>
    <?php
}

问题。
“”
- 

想象一下,如果你根本无法回应“如果”这个词,因为它会认为你在开始一个if语句。正如其他人所说,您只需要将您的回音分解为几个回音语句。
echo ('if statement') ? 'value on true' : 'value on false';
<div class="wrapper">
    <div class="submissions">
        <div class="logo-logo">
            <h2>Question.</h2>

            <div class="checkboxes">
                <?php echo $row['formtype']; ?>
            </div>
        </div>

        <div class="top-submit">
            &#8220<?php echo $row["actual_quote"]; ?>&#8221;
        </div>

        <div class="poster">
            - <?php echo $row["poster"]; ?>
            <?php echo if(isset($row3['voted'])): ?>
                <?php echo if(isset($row3['ip'])): ?>
                    You have already voted for this.
                <?php endif; ?>
            <?php else: ?>
                <form action = '' method = 'post'> <input type = 'submit' name = 'like' value = 'like'>
                    <input type = 'submit' name = 'dislike' value = 'dislike'>
                </form>
            <?php endif; ?>

            <div class = "like">

            </div>

            <div class = "dislike">

            </div>
        </div>
        <!-- use select to get the items to stay on the page-->

    </div>
</div>
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
   include __DIR__ . "/form.template.phtml";
}
<?php
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
    ?>
<div class="wrapper">
    <div class="submissions">
        <div class="logo-logo"><h2>Question.</h2>
            <div class="checkboxes"><?php echo htmlentities($row["formtype"]); ?></div>
        </div>
        <div class="top-submit">
            &#8220;<?php echo htmlentities($row["actual_quote"]); ?>&#8221;
        </div>
        <div class="poster">- <?php echo htmlentities($row["poster"]);
    if(isset($row3["voted"]) && isset($row3["ip"]))
    {
        echo "You have already voted for this.";
    }
    else
    {
        ?>
            <form action="" method="post"> <input type="submit" name="like" value="like" /> <input type="submit" name="dislike" value="dislike" /></form>
        <?php
    }
    ?>
            <div class = "like"></div>
            <div class = "dislike"></div>
        </div>
        <!-- use select to get the items to stay on the page-->

    </div>
</div>
    <?php
}