首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输出中缺少行

输出中缺少行
EN

Stack Overflow用户
提问于 2012-11-21 18:16:08
回答 1查看 69关注 0票数 0

我有一个小问题,我找不到答案。

我有一个名为product_features的表,其中包含以下字段:

代码语言:javascript
复制
product_features
----------------------
 id  parent_id  name      order    added_date

现在的问题是,我刚刚插入了两个同名的行:

代码语言:javascript
复制
734     1   6008-2 test     0   2012-11-21 11:52:28
735     1   6008-2 test     0   2012-11-21 11:57:27

我已经定义了id - PRIMARY INDEX - AUTO INCREMENTparent_id - INDEX

代码语言:javascript
复制
Keyname Type    Unique  Packed  Column     Cardinality  Collation
PRIMARY BTREE   Yes      No product_feature_id  671         A       
product_feature_parent_id   BTREE   No  No  product_feature_parent_id   671 A

当我打印结果时,打印的唯一行是最后一行。我真的不明白为什么。这是我正在使用的函数:

代码语言:javascript
复制
public function printProductFeaturesTable($product_feature_parent_id = 0, $level = 0){
        $sql = $this->mysqli->query("SELECT product_feature_id, product_feature_name
                                     FROM product_features
                                     WHERE product_feature_parent_id='" . $product_feature_parent_id . "'
                                     ORDER BY product_feature_order");
        if($sql->num_rows != 0) {

            if($level != 0)
                echo '<table cellpadding="0" cellspacing="1" class="dnd"><tbody>';

            $i = 0;
            while($row = $sql->fetch_assoc()) {
                $i++;
                echo '<tr>
                        <td width="30" valign="top" align="center">', 
                            $i, '.
                        </td>
                        <td>', 
                            $row['product_feature_name'],
                            '<div class="table-options">
                                <input type="hidden" name="product_feature_id[]" value="', $row['product_feature_id'], '" /> 
                                <a href="/admin/product-features/add-modify/', $row['product_feature_id'], '" class="ui-state-default ui-corner-all left"><span class="ui-icon ui-icon-pencil"></span></a>
                                <a href="javascript:if(confirm(\'Are you sure you want to delete this feature?\')) document.location = \'/admin/resources/php/product-features.php?p=delete&pfid=', $row['product_feature_id'], '\'" class="ui-state-default ui-corner-all left"><span class="ui-icon ui-icon-close"></span></a>
                            </div>';

                $this->printProductFeaturesTable($row['product_feature_id'], $level + 1);

                echo '  </td>
                    </tr>'; 
            }

            if($level != 0)
                echo '</tbody></table>';
        } else
            if($product_feature_parent_id == 0)
                echo '<tr><td align="center" colspan="2">Nici o specificatie de produs adaugata momentan!</td></tr>';
    }

结果应该是这样的:

代码语言:javascript
复制
1. Test
   1. Test subcategory
   2. Test subcategory 2
   3. 6008-2 test
   4. 6008-2 test

但与上面的示例不同,结果是:

代码语言:javascript
复制
1. Test
   1. Test subcategory
   2. Test subcategory 2
   3. 6008-2 test // this is the last inserted row.. but where is the other one???

非常感谢您的支持!

EN

回答 1

Stack Overflow用户

发布于 2012-11-21 18:41:16

好的..。我刚刚发现唯一的问题是我的眼睛,正如您所看到的,我是按照product_feature_order对结果进行排序的,在本例中,默认情况下它是0。

所以问题是它们显示的顺序不是按照插入的id的顺序显示的,这真的把我搞糊涂了。

谢谢您抽时间见我!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13490973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档