【问题标题】:foreach ($rows as $row) - changing some (not all) valuesforeach ($rows as $row) - 改变一些(不是全部)值
【发布时间】:2014-05-25 10:04:24
【问题描述】:

我正在尝试显示一些我从 SQL 数据库中成功提取的数据。我有两个数据,人的名字和人的昵称。

如果此人有昵称,我想在数据中显示它而不是名称。如果他们没有昵称,我想显示名称。我尝试使用这段代码,但它会影响所有行,而不仅仅是昵称字段不为空的行。

有人给点建议吗?提前致谢。

foreach ($rows as $row)
{
    $name = $row["name"];
    $nickname = $row["nickname"];

if($row["nickname"] !== NULL)
{
    $name = $nickname;
}

    echo "<tr>";    
    echo "<td> $name </td>";
    echo"</tr>";

【问题讨论】:

  • 必须在sql-query中实现

标签: php html arrays loops


【解决方案1】:

您可以使用缩短的if 表单来选择要显示的变量,然后将其与您的html 部分连接:

foreach ($rows as $row){
    $html = "<tr>";    
    $html .= "<td> " . (empty($row["nickname"]) ? $row["name"] : $row["nickname"] ) . " </td>";
    $html .= "</tr>";
    echo $html;
}

您还应该echo 有效html 才能正确显示它(因为一些&lt;tag&gt;s 需要关闭&lt;/tag&gt; 您的html 将无效,所以首先您可以将所有内容连接在一行中然后echo它)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 2022-12-02
    • 1970-01-01
    相关资源
    最近更新 更多