echo中的函数为什么会出错?

时间:2016-06-14 09:03:25

标签: php sql function echo

我在这里和其他论坛中阅读了一些主题,并找到了一种在echo中设置函数的方法。 但它并没有显示我的东西。 我的代码

echo "<tr>
        <td>
           Choose people:<br>
            ",choose_kunde(),"
        </td>
    </tr>";

我的职能:

   function choose_kunde()
{
    require './config/config.inc.php';
    if($result2 = mysqli_query($db, "SELECT kunden_id, vname, nname FROM kunden"))
    {
        echo "<select name='kunde_a'>";
        while($adr = mysqli_fetch_assoc($result2))
        {
            echo "<option value='".$adr['vname']."|".$adr['nname']."|".$adr['kunden_id']."'>".$adr['vname']." ".$adr['nname']."</option>";
        }
        echo "</select>";
    }
    else
    {
        echo "Daten konnten nicht aus der Datenbank gelesen werden.<br>";
        echo mysqli_error($db);
    }
}

2 个答案:

答案 0 :(得分:0)

您需要更改函数以返回字符串而不是回显它。

示例:

function choose_kunde()
{
    $output = '';
    require './config/config.inc.php';

    if($result2 = mysqli_query($db, "SELECT kunden_id, vname, nname FROM kunden"))
    {
        $output .= "<select name='kunde_a'>";

        while($adr = mysqli_fetch_assoc($result2))
        {
            $output .= "<option value='".$adr['vname']."|".$adr['nname']."|".$adr['kunden_id']."'>".$adr['vname']." ".$adr['nname']."</option>";
        }

        $output .= "</select>";
    }
    else
    {
        $output .= "Daten konnten nicht aus der Datenbank gelesen werden.<br>";    
        $output .= mysqli_error($db);
    }

    return $output;
}

然后连接它

echo "<tr>
    <td>
       Choose people:<br>
        " . choose_kunde() ."
    </td>
</tr>";

仍然需要处理代码以使其更加干净。

答案 1 :(得分:0)

您已使用返回系统编写函数。试试这段代码。

function choose_kunde()
{
    $html = '';
    require './config/config.inc.php';
    if($result2 = mysqli_query($db, "SELECT kunden_id, vname, nname FROM kunden"))
    {
        $html .= "<select name='kunde_a'>";
        while($adr = mysqli_fetch_assoc($result2))
        {
            $html .=  "<option value='".$adr['vname']."|".$adr['nname']."|".$adr['kunden_id']."'>".$adr['vname']." ".$adr['nname']."</option>";
        }
        $html .= "</select>";
    }
    else
    {
        $html .= "Daten konnten nicht aus der Datenbank gelesen werden.<br>";
        $html .= mysqli_error($db);
    }
  return $html;
}