在PHP中回显变量的最佳方法

时间:2015-05-28 18:33:38

标签: php variables echo

从我所读过的内容来看,在回声中回复更多PHP代码是不可能的,所以我在解决以下问题之后:

基本上,如果' closed_state'我的数据库中的列等于'是',在末尾显示带变量的链接,否则在末尾显示带有变量的不同链接。

这是我的代码:

Blah: dsf is 32.
Halb: Campbell is 97.

显然它不起作用,所以最好的方法是什么?

4 个答案:

答案 0 :(得分:1)

PHP不是递归嵌入或可执行的。你不能在php字符串中嵌入php代码并让它自动执行,例如。

<?php

$foo = "This is a <?php echo 'string'; ?> in PHP";
echo $foo;

将为您提供文字输出:

This is a <?php echo 'string'; ?> in PHP

而不是

This is a string in PHP

你想要它。

如果你想像这样“嵌入”php,只需构建一个字符串:

 $foo = "This is a " . 'string' . " in PHP";

答案 1 :(得分:1)

我认为你不需要3个查询。一个人应该很好地选择两个值。查询2&amp;无论如何,3都是相同的。

$result1    = mysqli_query($con,"SELECT company_id, closed_state FROM tbl_company WHERE company_id='$company_id'") or die(mysql_error());
while($row = mysqli_fetch_array($result1)){
    if ($row['closed_state'] == "yes"){
        echo '<a href="customers_open.php?company_id='.$row['company_id'].'">Reopen account</a>';
    }else{  
        echo '<a href="customers_close.php?company_id='.$row['company_id'].'">Close account</a>';
    }
}   

答案 2 :(得分:0)

您没有正确引用字符串。如果您有字符串echo "foo"bar",则中间双引号将导致PHP结束字符串并尝试将bar解析为其他内容。

同样,你不能在PHP中嵌入PHP。

    echo '<a href=....<?php while($row...

答案 3 :(得分:-1)

我会假设你第二次和第三次查询实际上是不同的,否则重复没有任何意义 - 但这是一个有效的版本。

<?php 

$result1    = mysqli_query($con,"SELECT closed_state FROM tbl_company WHERE company_id='$company_id'") or die(mysql_error());
$result2    = mysqli_query($con,"SELECT company_id FROM tbl_company WHERE company_id='$company_id'") or die(mysql_error());
$result3    = mysqli_query($con,"SELECT company_id FROM tbl_company WHERE company_id='$company_id'") or die(mysql_error());

while($row = mysqli_fetch_array($result1))
{
    if ($row['closed_state'] == "yes")
    {
        $company_id = null;
        while($row = mysqli_fetch_array($result2)) $company_id = $row['company_id'];
        echo "<a href='customers_open.php?company_id={$company_id}'>Reopen account</a>";
    } else {
        $company_id = null;
        while($row = mysqli_fetch_array($result3)) $company_id = $row['company_id'];
        echo "<a href='customers_close.php?company_id={$company_id}'>Close account</a>";
    }
}   

?>