使用php可以显示内容的导航列表

时间:2015-08-04 12:44:38

标签: php

我有这个PHP代码:

<div class="connect_wrap <?php echo $this->class; ?> block" <?php echo $this->cssID; ?>>
<?php if(!$this->empty): ?>
    <?php foreach($this->entries as $entry): ?>
        <div class="entry block <?php echo $entry->class; ?>">
            <div class="tab">

                <ul class="tabs">
                    <li class="tab-link current" data-tab="Kunden">Kunden</li>
                    <li class="tab-link" data-tab="Loesungen">Lösungen</li>

                </ul>
                <?php
                $this->import('Database');
                $pName = $entry->field('name')->value();
                $result = \Database::getInstance()->prepare("SELECT * FROM kunden WHERE partner=?")->execute($pName);
                ?>
                <?php if($result->numRows):?>
                    <div id="Kunden"  class="tab-content current">

                        <?php while($result->next()) { ?>
                            <div class="items">
                                <a href="{{env::url}}/kunden-detail/<?php echo $result->alias; ?>">
                                    <div class="logo">
                                        <img src="<?php $objFile = \FilesModel::findByUuid($result->logo); echo $objFile->path;?>"width="180" height="135">
                                    </div>
                                </a>
                            </div>
                        <?php } ?>

                    </div>
                <?php endif;?>

                <?php
                $this->import('Database');
                $pName = $entry->field('name')->value();
                $result = \Database::getInstance()->prepare("SELECT * FROM solutions WHERE solution_provider=?")->execute($pName);
                ?>
                <?php if($result->numRows):?>
                    <div id="Loesungen"  class="tab-content">

                        <?php while($result->next()) { ?>
                            <div class="items">
                                <a href="{{env::url}}/synaptic-commerce-solution/<?php echo $result->alias; ?>">
                                    <div class="logo">
                                        <img src="<?php $objFile = \FilesModel::findByUuid($result->logo); echo $objFile->path;?>"width="180" height="135">
                                    </div>
                                </a>
                            </div>
                        <?php } ?>
                    </div>
                <?php endif;?>

            </div>

        </div>
    <?php endforeach; ?>
<?php else: ?>
<?php endif;?>

在该代码中,我有两个数据库查询。我的问题是,如果两个查询都没有数据,则不应显示类“connect_wrap”的div。

我该怎么做?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您要检查查询中是否包含数据并且该数据是否为空?如果是这样尝试num_rows它会返回查询找到/影响的行数,例如检查查询是否返回了一行或多行

if($result->num_rows >= 1) {
//do stuf
} else {
// no result found
}

答案 1 :(得分:0)

向上或最好移动查询执行:不在html内,而是在不同的文件/类中。然后在content_wrap div:if($kundenResult->num_rows >= 1 || $solutionsResult->num_rows >= 1)之前添加一项检查。如果你只保留已经拥有的单独检查,只有当其中一个或两个查询返回数据行时,它才会显示content_wrap div。