-2

以下の構造を取得しようとしています

  1. 書籍

    a.ハリー・ポッター

  2. を。シャツ

データベースからすべてのデータをフェッチしながら、このようにします。私は php と iquery を使用してこれを行いましたが、代わりに次の構造を取得しています-

  1. 書籍

    を。ハリーポッター

    b. シャツ

  2. を。ハリーポッター

    b. シャツ

誰でも私が間違っているところを教えてもらえますか.私のコードは

<?php include 'dbconnect.php' ?>
<?php include 'header.php' ?>
<div id="wrapper">
    <div id="content">
        <div id="rightnow">
            <h3 class="reallynow"></h3>
            <br/>
            <script src="jquery.js" type="text/javascript"></script>
            <script src="jquery-ui.custom.js" type="text/javascript"></script>
            <script src="jquery.cookie.js" type="text/javascript"></script>
            <!-- Include the basic stylesheet: -->
            <script src="jquery.dynatree.js" type="text/javascript"></script>
            <script type="text/javascript">
                $(function () {
                    $("#tree").dynatree({
                        title: "Sample Theming",
                        // Image folder used for data.icon attribute.
                        imagePath: "skin-custom/",
                        onActivate: function (node) {
                            return true;
                        }
                    });
                });
            </script>
            <?php
            $x1 = array();
            $x2 = array();
            $sql_1 = mysqli_query($con, "SELECT * FROM jsrao_db4");
            while ($row_1 = mysqli_fetch_array($sql_1)) {
                array_push($x1, $row_1["cat_name"]);
            }
            $sql_2 = mysqli_query($con, "
                SELECT * FROM jsrao_db5 WHERE pro_id = $i
            ");
            while ($row_2 = mysqli_fetch_array($sql_2)) {
                array_push($x2, $row_2["pro_name"]);
            }
            ?>
            <div id="tree">
                <ul>
                    <?php foreach ($x1 as $p) {
                        echo "<li class='folder'>$p"; ?>
                        <ul>
                        <?php foreach ($x2 as $q) {
                            echo "<li>$q";
                        } ?>
                        </ul><?php } ?>
                </ul>
            </div>
        </div>
    </div>
</div> 
4

4 に答える 4

0

配列プッシュを使用する代わりに、このように試すことができます

$x1    = array();
$query = $this->db->query("SELECT * FROM  jsrao_db4 ");
$rows  = $query->result();

foreach ($rows as $row) {
    array_push($x1, $row->cat_name);
    $query = $this->db->query("SELECT * FROM  jsrao_db5 WHERE id=$row->id");
    $rs = $query->result();
    foreach ($rs as $r) {
        $x1[$row->cat_name] = array();
        array_push($x1[$row->cat_name], $r->pro_name);
    }
}
?>
<div id="tree">
    <ul>
        <?php foreach ($x1 as $p) {
            echo "<li class='folder'>$p"; ?>
            <ul>
            <?php foreach ($x1[$p] as $q) {
                echo "<li>$q";
            } ?>
            </ul><?php } ?>
    </ul>
</div>
</div>
</div>
于 2013-12-06T12:57:06.883 に答える
0

「li」要素を閉じようとしましたか?

 <div id="tree">
        <ul>
            <?php foreach($x1 as $p){  echo "<li class='folder'>$p</li>" ;?>
        <ul>
                <?php foreach($x2 as $q) { echo"<li>$q</li>"; } ?>
        </ul><?php } ?>

        </ul>
        </div>
</div>
于 2013-12-06T12:50:26.240 に答える
0

このような構造を使用してください

<?php
$select_maincat = "SELECT * FROM wp_categories";
$qry_maincat = mysql_query($select_maincat);
while ($data_maincat = mysql_fetch_assoc($qry_maincat)) { ?>
    <ul>
        <li> <?php echo $data_maincat['cat_name']; ?>
            <ul>
            <?php
            $select_subcat = "select * from wp_subcategories where cat_id=" . $data_maincat['id'];
            $qry_subcat = mysql_query($select_subcat);
            while ($data_subcat = mysql_fetch_assoc($qry_subcat)) { ?>
                <li><?php echo $data_subcat['subcat_name']; ?></li>
            <?php } ?>
            </ul>
    </ul>
<?php } ?> 
于 2013-12-07T07:08:09.343 に答える