萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 2759|回复: 2

如何逐一返回未知动态数组的键名 PHP

[复制链接]
发表于 2009-3-11 17:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
本帖最后由 Unbekannt 于 2009-3-11 17:38 编辑

哈哈哈, 在一壶酒的指点下我已经成功返回了一个动态数组。。。随之而来的是另一个问题。。。

我如何才能一一读出这个动态数组的键名呢。。。在getDocList()方法中, $field的值好像不对阿。。。

==============这个是我返回来的动态数组=============

if($_SERVER['REQUEST_METHOD']=='POST')
{
        if($_POST['lastname'])
                $data['F_BDT_AUTOR'] = $_POST['lastname'];

        if($_POST['othername'])
                $data['F_BDT_F_AUTOR'] = $_POST['othername'];

        if($_POST['title'])
                $data['F_BDT_TITEL'] = $_POST['title'];

        if($_POST['utitle'])
                $data['F_BDT_UTITEL'] = $_POST['utitle'];

        if($_POST['pagenr'])
                $data['F_BDT_PAGENR'] = $_POST['pagenr'];

        if($_POST['year'])
                $data['F_BDT_YEAR'] = $_POST['year'];

        if($_POST['location'])
                $data['F_BDT_LOC'] = $_POST['location'];

        if($_POST['s01'])
                $data['F_BDT_IS_S01'] = 1;

        if($_POST['s02'])
                $data['F_BDT_IS_S02'] = 1;
       
        if($_POST['s03'])
                $data['F_BDT_IS_S03'] = 1;
       
        if($_POST['s04'])
                $data['F_BDT_IS_S04'] = 1;
       
        if($_POST['s05'])
                $data['F_BDT_IS_S05'] = 1;
       
        if($_POST['s06'])
                $data['F_BDT_IS_S06'] = 1;
       
        if($_POST['s07'])
                $data['F_BDT_IS_S07'] = 1;
       
        if($_POST['s08'])
                $data['F_BDT_IS_S08'] = 1;
       
        if($_POST['s09'])
                $data['F_BDT_IS_S09'] = 1;
       
        if($_POST['s10'])
                $data['F_BDT_IS_S10'] = 1;
       
        if($_POST['s11'])
                $data['F_BDT_IS_S11'] = 1;
       
        if($_POST['s12'])
                $data['F_BDT_IS_S12'] = 1;
       
        if($_POST['s13'])
                $data['F_BDT_IS_S13'] = 1;
       
        if($_POST['s14'])
                $data['F_BDT_IS_S14'] = 1;
       
        if($_POST['s15'])
                $data['F_BDT_IS_S15'] = 1;
       
        if($_POST['s16'])
                $data['F_BDT_IS_S16'] = 1;
       
        if($_POST['s17'])
                $data['F_BDT_IS_S17'] = 1;
       
        if($_POST['s18'])
                $data['F_BDT_IS_S18'] = 1;
       
        if($_POST['s19'])
                $data['F_BDT_IS_S19'] = 1;
       
        if($_POST['s20'])
                $data['F_BDT_IS_S20'] = 1;

        if($_POST['checkpdf'])
                $data['F_BDT_PDF_YES'] = 1;
       
        if($_POST['checkcontent'])
                $data['F_BDT_CONTENT_YES'] = 1;
}

================这个是查询SQL的方法=================

        public function GetDocList($page=1,$pagesize,$data,$isdel=0)
        {
                $start = ($page-1)*$pagesize;
                $sql_fields = "*";
                $sql_from = "EE_BOOKS_DETAIL";
                $sql_where = " ";
                if($isdel)
                {
                        $sql_where = "F_BDT_IS_DEL = 1";
                }
                if($data)
                {                       
                        $fields = implode(',',array_keys($data));
                        $i = 0;
                        $sql = "SELECT * FROM $sql_from WHERE";
                        foreach($data as $key=>$val)
                        {
                                $value .= "'%".$val."%'";
                                if($i<count($data)-1)
                                        $field = $fields [ i ]; //这个方括号 i 是论坛代码, 本来没有空格。。
                                $sql .= " ".$field." LIKE ".$value." AND";
                                $i++;
                       
                        }

                        $sql_order = "F_ID DESC";
                        $sql .= " ORDER BY $sql_order LIMIT $start, $pagesize";
                        return $this->select($sql);
                }
        }
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2009-3-12 11:59 | 显示全部楼层
$field当然不对,因为$fields不是array.

www.php.net/implode

不要犯低级错误啊。。。
─壶酒 发表于 2009-3-11 21:36



啊~~~果然是低级错误。。。没注意是不是数组。。。原来返回字符串所以不行, 刚刚已经改成数组了, 又响应改了一下循环, 现在已经可以了。。。哈哈哈哈~~~多谢了。。。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-5-3 04:55 , Processed in 0.056007 second(s), 19 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表