Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用phpQuery将HTML ul/li树转换为PHP数组_Php_Mysql_Phpquery - Fatal编程技术网

使用phpQuery将HTML ul/li树转换为PHP数组

使用phpQuery将HTML ul/li树转换为PHP数组,php,mysql,phpquery,Php,Mysql,Phpquery,我想用于解析DOM元素。下面是我想使用PHP递归函数导入MySQL数据库的代码 将树存储为类别的MySQL db(带有sub、sub、…、categories) 这是我的伪代码: function getCategories( $pq_object, $last_generated_mysql_id ) { // for every element of $pq_object on same lvl { // insert into mysql $pq_objec

我想用于解析DOM元素。下面是我想使用PHP递归函数导入MySQL数据库的代码

将树存储为类别的MySQL db(带有sub、sub、…、categories)

这是我的伪代码:

function getCategories( $pq_object, $last_generated_mysql_id )
{
    // for every element of $pq_object on same lvl
    {
        // insert into mysql $pq_object->a->name
        // and with categorie_id_parent as $last_generated_mysql_id if has parent

        // going deeper for every child
        getCategories( $pq_object->children(), mysql_insert_id() );
    } 
}
谢谢你的帮助

我真的做到了:

function getCats( $categorie_id_parent, $cats )
{
    echo "<ul>";

    foreach ( $cats as $ch )
    {
        $categorie_nom = mysql_real_escape_string( pq($ch)->find("a:first")->text() );

        // Inserting categories
        $query_categorie = "SELECT categorie_id FROM categories WHERE categorie_id_parent='".$categorie_id_parent."' AND categorie_nom LIKE '".$categorie_nom."' LIMIT 1";
        $result_categorie = mysql_query( $query_categorie ) or die ( mysql_error() );

        $categorie_id = 0;

        if ( mysql_num_rows( $result_categorie ) )
        {
            $row_categorie = mysql_fetch_assoc( $result_categorie );

            $categorie_id = $row_categorie['categorie_id'];
        }
        else
        {
            $query_insert = "INSERT INTO categories (categorie_id_parent, categorie_nom) VALUES ('".$categorie_id_parent."', '".$categorie_nom."')";
            mysql_query( $query_insert ) or die ( mysql_error() );

            $categorie_id = mysql_insert_id();
        }

        // if we have any subcategories
        if ( pq($ch)->children()->children()->length )
        {
            echo "<li>".pq($ch)->find("a:first")->text()."</li>";

            // going deeper
            getCats( $categorie_id, pq($ch)->children()->children() );
        }
        // If no subcategories, show the last link name and href
        else
            echo "<li>".pq($ch)->find('a:first')->text()." ".pq($ch)->find('a:first')->attr('href')."</li>";
    }

    echo "</ul>";
}
函数getCats($categorie\u id\u parent,$cats) { 回声“
    ”; foreach(猫作为$ch) { $categorie\u nom=mysql\u real\u escape\u string(pq($ch)->find(“a:first”)->text(); //插入类别 $query\u categorie=“从categorie\u id\u parent=“$categorie\u id\u parent.”“和categorie\u nom LIKE.”的类别中选择categorie\u id.“'LIMIT 1”; $result\u categorie=mysql\u query($query\u categorie)或die(mysql\u error()); $categorie_id=0; if(mysql\u num\u行($result\u categorie)) { $row\u categorie=mysql\u fetch\u assoc($result\u categorie); $categorie_id=$row_categorie['categorie_id']; } 其他的 { $query_insert=“插入类别(分类id父项,分类名称)值(“$CATEGRIE_id父项。”,“$CATEGRIE_名称。”)”; mysql\u query($query\u insert)或die(mysql\u error()); $categorie_id=mysql_insert_id(); } //如果我们有任何子类别 if(pq($ch)->children()->children()->length) { echo“
  • ”.pq($ch)->查找(“a:first”)->文本(); //深入 getCats($categorie_id,pq($ch)->children()->children()); } //如果没有子类别,则显示最后一个链接名称和href 其他的 echo“
  • ”.pq($ch)->find('a:first')->text()。”.pq($ch)->find('a:first')->attr('href')。“
  • ”; } 回声“
”; }
function getCats( $categorie_id_parent, $cats )
{
    echo "<ul>";

    foreach ( $cats as $ch )
    {
        $categorie_nom = mysql_real_escape_string( pq($ch)->find("a:first")->text() );

        // Inserting categories
        $query_categorie = "SELECT categorie_id FROM categories WHERE categorie_id_parent='".$categorie_id_parent."' AND categorie_nom LIKE '".$categorie_nom."' LIMIT 1";
        $result_categorie = mysql_query( $query_categorie ) or die ( mysql_error() );

        $categorie_id = 0;

        if ( mysql_num_rows( $result_categorie ) )
        {
            $row_categorie = mysql_fetch_assoc( $result_categorie );

            $categorie_id = $row_categorie['categorie_id'];
        }
        else
        {
            $query_insert = "INSERT INTO categories (categorie_id_parent, categorie_nom) VALUES ('".$categorie_id_parent."', '".$categorie_nom."')";
            mysql_query( $query_insert ) or die ( mysql_error() );

            $categorie_id = mysql_insert_id();
        }

        // if we have any subcategories
        if ( pq($ch)->children()->children()->length )
        {
            echo "<li>".pq($ch)->find("a:first")->text()."</li>";

            // going deeper
            getCats( $categorie_id, pq($ch)->children()->children() );
        }
        // If no subcategories, show the last link name and href
        else
            echo "<li>".pq($ch)->find('a:first')->text()." ".pq($ch)->find('a:first')->attr('href')."</li>";
    }

    echo "</ul>";
}