首页 > 解决方案 > PHP选择和分组并保存到文件

问题描述

我有一个表“org_st”如下: 在此处输入图像描述

TYPE_ID 值是必须创建
的文件夹名称 CHKPT_ID 值是必须在相对 TYPE_ID 内创建的文件夹名称
SECT_ID 值是必须在内容为 ELMT_ID 的相对 CHKPT_ID 中创建的文本文件名称

例如:包含值 (13) 的文件夹 (3)/文件夹 (54)/文件 (4).txt。像这样:

在此处输入图像描述

这里是所选示例中的相对文本文件内容(13):

在此处输入图像描述

是否可以在单个 PDO 语句中进行选择和过滤,或者我必须通过多个 SQL 查询?

我真的迷失了如何处理这个问题.. $stmt = $this->conn->prepare(" select WHAT?")

预先感谢您的任何帮助!

标签: phpsqlselectpdofilter

解决方案


因此,正如我之前评论的那样,我在考虑这个问题时错过了一些清晰度:当它很容易时,它听起来很复杂。每条记录 ($row) 已经是一条“就绪”路径!这里在捕获的桌子上抓挠: 在此处输入图像描述

现在我们只需要触发 PDO Select *... 这是一个创建漂亮文件夹树的函数:

            public  function fire_all_lists()       
            {   
            try             
            {                       
            $stmt = $this->conn->prepare("select TYPE_ID,CHKPT_ID,SECT_ID,ELMT_ID FROM org_st");    
            $stmt->execute();
            $row=$stmt->fetch(PDO::FETCH_ASSOC);                
            if(!$row) exit('<h1>nothing Bro!</h1>');
            $s= array('en','fr','de','bg','ru','ar') ;
            $ta=count($s);  
            do {
            for ($i = 0; $i < $ta; $i++) {
            $path='lists/'.$s[$i].'/'.$row['TYPE_ID'].'/'.$row['CHKPT_ID'].'/'.$row['SECT_ID'].'.txt';
            $dir='lists/'.$s[$i].'/'.$row['TYPE_ID'].'/'.$row['CHKPT_ID'];
            if(!file_exists($dir)) {
            mkdir($dir, 0755, true);
            }
            file_put_contents($path, '<option>'.$row['ELMT_ID'].'</option>'.PHP_EOL, FILE_APPEND | LOCK_EX);

            }

            } while($row = $stmt->fetch(PDO::FETCH_ASSOC)); 
            return true;
            $stmt = null;                   
            }                   
            catch(PDOException $e)              
            {                       
            echo $e->getMessage();                  
            }
            }

感谢您的耐心等待。我希望你会发现任何兴趣。


推荐阅读