php - PHP选择和分组并保存到文件
问题描述
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?")
预先感谢您的任何帮助!
解决方案
因此,正如我之前评论的那样,我在考虑这个问题时错过了一些清晰度:当它很容易时,它听起来很复杂。每条记录 ($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();
}
}
感谢您的耐心等待。我希望你会发现任何兴趣。