用php调用mysql数据表中指定id下所有的子子孙孙数据;

用php调用mysql数据表中指定id下所有的子子孙孙数据;,第1张

写一个递归函数即可。

$host = '';

$dbname = '';

$dsn = "mysql:host=$host,dbname=$dbname";

try {

    $dbh = new PDO($dsn, 'root', 'root');

} catch (PDOException $e) {

    die($e -> getMessage());

}

$child = function ($id) use($dbh) {

    static $final = [];

    $sql = "SELECT  FROM tablename WHERE id = $id"; // 找出需要查询的数据

    $data = $dbh -> query($sql) -> fetch(PDO::FETCH_ASSOC);

    $final[] = $data;

    

    $sql = "SELECT  FROM tablename WHERE pid = "  $data['id']; // 找出当前数据的子孙数据

    $datas = $dbh -> query($sql) -> fetchall(PDO::FETCH_ACCOS);

    foreach ($datas as $value) {

        child($value['id']);  // 无限递归

    }

    

    return $final;

}

$id = 1;   // 需要查询的数据ID

$final = $child($id);

var_dump($final);

1、按照你的思路, =sum(A1A2+B1B2+C1C2+……+AD1AD2)+sum(AE1AE2+……)+sum()+sum()+…… 2、使用乘积函数,第一行乘以第二行在求和,可以写成以下 =SUMPRODUCT(1:1,2:2) 或者 =SUMPRODUCT(A1:Z1,A2:Z2)

最近刚写的,可以遍历指定目录下的所有文件、文件夹、特定后缀的文件:

/

  遍历目录

  @param string $dir 绝对/相对路径

  @param string $filter 默认返回所有文件及文件夹,php仅返回php文件,如果$patten为GLOB_BRACE可实现多文件筛选,如{php,html},返回php和html文件

  @param const $patten 默认GLOB_BRACE,可选:GLOB_ONLYDIR,更多参数请参考手册

  @param string/bool $nocache 防止本次调用的结果缓存上次的结果,如果一个脚本仅调用一次本函数,则不用管,否则得设个值

  @return array

 /

function globdir($dir, $filter = '', $patten = GLOB_BRACE, $nocache = null) {

    static $file_arr = array ();

    isset($nocache) && $file_arr = array ();

    if (!is_dir($dir)) return;

    if ($patten == GLOB_ONLYDIR) {

        $code = 'if (is_dir($file)) {$file_arr[] = $file;globdir($file, "", GLOB_ONLYDIR);}';

    } else {

        $code = 'is_file($file)  $file_arr[] = $file : globdir($file,"'  $filter  '",'  $patten  ');';

    }

    array_walk(glob("{$dir}/{$filter}", $patten), create_function('$file, $k, $file_arr', $code), &$file_arr);

    if ($filter != '') {

        array_walk(glob("{$dir}/", GLOB_ONLYDIR), create_function('$dir,$k,$param', 'list($filter, $patten) = explode("|", $param);globdir($dir, $filter, $patten);'), "{$filter}|{$patten}");

    }

    return $file_arr;

}

//用多维数组存储无限级分类

static public function unlimitedForLayer($cate,$pid=0){

$arr=array();

foreach ($cate as $v) {

if ($v['pid']==$pid) {

$v['child']=self::unlimitedForLayer($cate,$v['id']);

$arr[]=$v;

}

}

return $arr;

}

以上就是关于用php调用mysql数据表中指定id下所有的子子孙孙数据;全部的内容,包括:用php调用mysql数据表中指定id下所有的子子孙孙数据;、PHP 递归问题、php写一个函数,能够遍历一个文件夹下的所有文件和子文件夹等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9807391.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存