首页 > 解决方案 >

php 代码教程示例:如何检索嵌套的 master => 每个 php 和 mysql 的详细记录

问题描述

基于 Master => 数据库中 mysql 字段的详细关系:

公司 - 项目 - 级别

我正在为 HTML5 中的多级布局(也称为嵌套)而苦苦挣扎,但没有 JavaScript。

我想使用带有“Select field1,field2,field3”的 sql 字符串来以 windows-Explorer 样式显示内容。

也许那里有教程/示例?到目前为止,我还没有找到一个只使用 HTML 5 而不使用 JavaScript 的多级 php 脚本!

标签: phphtmlmulti-leveldetails-tagsummary-tag

解决方案


这是我如何在三个数组中创建条目组合的答案。

    <?php
function combinations($arrays, $i = 0) {
    if (!isset($arrays[$i])) {
        return array();
    }
    if ($i == count($arrays) - 1) {
        return $arrays[$i];
    }
    // get combinations from subsequent arrays
    $tmp = combinations($arrays, $i + 1);
    $result = array();
    // concat each array from tmp with each element from $arrays[$i]
    foreach ($arrays[$i] as $v) {
        foreach ($tmp as $t) {
            $result[] = is_array($t) ? 
                array_merge(array($v), $t) :
                array($v, $t);
        }
    }
    return $result;
}
$arrCombi=combinations(
    array(
        array('Microsoft','Adobe','Softskills'), 
        array('Word','Excel','Photoshop','Homeoffice'), 
        array('Grundlagen','Expert')
        )
    );
$line="";
foreach ($arrCombi as $k => $v){
    $line .= "(".implode(" AND ",$v) . ")  OR \n";
}
$line=substr($line, 0, -4);
echo nl2br($line);
echo"<hr><pre>";
print_r(
    combinations(
        array(
            array('Microsoft','Adobe','Softskills'), 
            array('Word','Excel','Photoshop','Homeoffice'), 
            array('Grundlagen','Expert')
        )
    )
);
echo "</pre>";
?>

推荐阅读