【问题标题】:function and output foreach result with html用html函数和输出foreach结果
【发布时间】:2014-07-06 22:54:20
【问题描述】:

我的问题是在 div.link 上输出 $items,所有测试都不好,因为第一个测试显示结果在 body 和第二个测试显示结果在 top body 而不是我的特定 div 中

第一个坏测试:

function list($id) {

        $query = sprintf("SELECT * FROM `social` WHERE `userid` = '%s'", $id);

        $result = $this->db->query($query);

        $table = array();

        if($result->num_rows > 0) {
            while($row = $result->fetch_array()) {
                $table[] = $row['username'];

            }

            echo '<div class="sidebar friends">';
                    echo '<div class="content">';
                    echo     '<div class="head">Group</div>';
                    echo       '<div class="inner">';

                    foreach($table as $items){
                        echo '<div class="link">';
                        echo $items;
                        echo'</div>';
                        }   

                            echo'</div>';
                        echo'</div>';
                echo'</div>';

        } else {
        return false;
    }
}

更好的结果是这样的,但输出不在我的 div 链接中,因为在我关闭变量输出之前:

function list($id) {

    $query = sprintf("SELECT * FROM `social` WHERE `userid` = '%s'", $id);

    $result = $this->db->query($query);

    $table = array();

    if($result->num_rows > 0) {
        while($row = $result->fetch_array()) {
            $table[] = $row['username'];

        }

    $output =  '<div class="sidebar friends"> 
                    <div class="content">
                        <div class="head">Group</div>
                            <div class="inner">
                                <div class="link">'; //i closing var but foreach result not displayed in div link
                                //how i can output result here in div link?
                            foreach($table as $items){
                                echo $items; //items need to be display...
                            }
                $output .=  '</div>
                        </div>
                    </div>
                </div>
            </div>';

        return $output;
        } else {
            return false;

    }
}

如何在我的 div.link 中使用 foreach 输出结果?

这是我需要显示的方式:

<div class="sidebar-container widget-welcome"> 
    <div class="sidebar-content">
        <div class="sidebar-header">Group</div>
            <div class="sidebar-inner">
                <div class="sidebar-link">

                    //foreach output items result here

                </div>
            </div>
        </div>
    </div>
</div>

【问题讨论】:

  • 你想如何显示输出?你能显示预期的 HTML 输出吗?

标签: php mysqli


【解决方案1】:

它不会显示,因为您正在 ECHO'ing $item。解决方法是在 $item 后面加上您从函数返回的 $output 字符串。

请像下面这样改变你的循环:

foreach($table as $items){
            $output .= $items; //items need to be display...
     }

【讨论】:

  • 天哪,我失败了 ;( 一个可以杀死你的小细节......谢谢你的帮助!现在已经解决了。
【解决方案2】:

如下更改您的代码块(将您的 link div 放在循环内并正确附加关闭 div)

$output =  '<div class="sidebar friends"> 
            <div class="content">
            <div class="head">Group</div>
            <div class="inner">';
                foreach($table as $items){
                        $output .= '<div class="link">'.$items.'</div>';
                }
$output .='</div></div></div>';

【讨论】:

    【解决方案3】:

    在不同的注释上,我建议简单地将 html 移动到不同的文件,然后将其包含在内,将 $table 作为参数传递并在那里循环。提高了可读性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-31
      • 2021-04-10
      • 1970-01-01
      • 2016-03-20
      • 2019-08-07
      • 2012-05-13
      • 2013-01-28
      • 1970-01-01
      相关资源
      最近更新 更多