从我所读过的内容来看,在回声中回复更多PHP代码是不可能的,所以我在解决以下问题之后:
基本上,如果' closed_state'我的数据库中的列等于'是',在末尾显示带变量的链接,否则在末尾显示带有变量的不同链接。
这是我的代码:
Blah: dsf is 32.
Halb: Campbell is 97.
显然它不起作用,所以最好的方法是什么?
答案 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>";
}
}
?>