内部回声和回声


Echo inside and Echo

我使用echo将结果汇总为一个表。在这个回声中,我放置了另一个回声,以显示另一个表中的所有结果。在这个页面上,我有一个数组,我希望检查该数组中的每一项,也就是表中的结果。我使用下面的代码(记住:这个代码在另一个echo中!),它不起作用,为什么不呢?

<?php
$query = "SELECT * FROM profilestemp"; 
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)){

$merkenarray = unserialize($row[merken]);

echo "

A VERY BIG OTHER PART OF THE FORM....
<tr>
<td style='width:150px;background-color:#a8c11f;padding:2px;'"><p style='"color:White;font-weight:bold'"><b>Merken</b></p></td>
<td><div id='"rubrieken'">

<?php
$sql = '"SELECT merknaam FROM merken'";
$result = mysql_query($sql);
while ($row2 = mysql_fetch_array($result)) {
    if (isset($merkenarray) && is_array($merkenarray) && in_array($row2[merknaam], $merkenarray)) {
      $checked = '"checked='checked''";
    }
    else $checked = '"'";
    echo '"&nbsp;&nbsp;<input '".$checked.'"  type='"checkbox'" name='"merken[]'" value=''" . $row2[merknaam] . '"'>&nbsp;'" . $row2[merknaam] . '" <Br />  '";
}
?>

</div></td>
</tr>
}
?>

不要在函数中使用echo,而是让它返回要输出的字符串。一个例子:

function functionName() {
    return 'Some content to be output';
}
echo functionName();

此外,这将给您的功能带来更大的灵活性,因为您可能不想每次都回显结果,例如:

function functionName() {
    return 'Some content to be output';
}
// Write the result of functionName to a file
file_put_contents('content.txt', functionName());    

您的代码应该看起来像这个

     <?php
            $query = "SELECT * FROM profilestemp"; 
            $result = mysql_query($query) or die(mysql_error());

            while($row = mysql_fetch_array($result)){

            $merkenarray = unserialize($row[merken]);

         ?>
            A VERY BIG OTHER PART OF THE FORM....
            <tr>
            <td style="width:150px;background-color:#a8c11f;padding:2px;"><p style="color:White;font-weight:bold"><b>Merken</b></p></td>
            <td><div id="rubrieken">

            <?php
            $sql = "SELECT merknaam FROM merken";
            $result = mysql_query($sql);
            while ($row2 = mysql_fetch_array($result)) {
                if (isset($merkenarray) && is_array($merkenarray) && in_array($row2[merknaam], $merkenarray)) {
                  $checked = "checked='checked'";
                }
                else $checked = "";
                echo "&nbsp;&nbsp;<input ".$checked."  type="checkbox" name="merken[]" value='" . $row2[merknaam] . "'>&nbsp;" . $row2[merknaam] . " <Br />  ";
            }
            ?>

            </div></td>
            </tr>
<?php }?>