Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.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
将mysql返回的数组转换为html php_Php_Mysql_Codeigniter - Fatal编程技术网

将mysql返回的数组转换为html php

将mysql返回的数组转换为html php,php,mysql,codeigniter,Php,Mysql,Codeigniter,我的数据库中有以下表格 -- -------------------------------------------------------- -- -- Table structure for table `category` -- CREATE TABLE `category` ( `id` int(11) NOT NULL, `heading` varchar(255) NOT NULL, `slug` varchar(255) NOT NULL ) ENGINE=MyIS

我的数据库中有以下表格

-- --------------------------------------------------------

--
-- Table structure for table `category`
--

CREATE TABLE `category` (
  `id` int(11) NOT NULL,
  `heading` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `category`
--

INSERT INTO `category` (`id`, `heading`, `slug`) VALUES
(1, 'Main Cat 1', 'main-cat-1'),
(2, 'Main Cat 2', 'main-cat-2');

-- --------------------------------------------------------

--
-- Table structure for table `subcategory`
--

CREATE TABLE `subcategory` (
  `id` int(11) NOT NULL,
  `cat_id` int(11) NOT NULL,
  `heading` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `subcategory`
--

INSERT INTO `subcategory` (`id`, `cat_id`, `heading`, `slug`) VALUES
(1, 1, 'Sub Cat 1', 'sub-cat-1'),
(2, 1, 'Sub Cat 2', 'sub-cat-2'),
(3, 2, 'Sub Cat 3', 'sub-cat-3'),
(4, 2, 'Sub Cat 4', 'sub-cat-4');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `category`
--
ALTER TABLE `category`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `subcategory`
--
ALTER TABLE `subcategory`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `category`
--
ALTER TABLE `category`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--
-- AUTO_INCREMENT for table `subcategory`
--
ALTER TABLE `subcategory`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
我用来从表中获取数据的查询是

    "SELECT
    `category`.`id` AS `mainId`
    , `subcategory`.`id` AS `subId`
    , `category`.`heading` AS `mainHead`
    , `subcategory`.`heading` AS `subHead`
    , `category`.`slug` AS `mainSlug`
    , `subcategory`.`slug` AS `subSlug`
 FROM
    `category`
    INNER JOIN `subcategory` 
        ON (`category`.`id` = `subcategory`.`cat_id`)"
得到的数组是

Array
(
    [0] => stdClass Object
        (
            [mainId] => 1
            [subId] => 1
            [mainHead] => Main Cat 1
            [subHead] => Sub Cat 1
            [mainSlug] => main-cat-1
            [subSlug] => sub-cat-1
        )

    [1] => stdClass Object
        (
            [mainId] => 1
            [subId] => 2
            [mainHead] => Main Cat 1
            [subHead] => Sub Cat 2
            [mainSlug] => main-cat-1
            [subSlug] => sub-cat-2
        )

    [2] => stdClass Object
        (
            [mainId] => 2
            [subId] => 3
            [mainHead] => Main Cat 2
            [subHead] => Sub Cat 3
            [mainSlug] => main-cat-2
            [subSlug] => sub-cat-3
        )

    [3] => stdClass Object
        (
            [mainId] => 2
            [subId] => 4
            [mainHead] => Main Cat 2
            [subHead] => Sub Cat 4
            [mainSlug] => main-cat-2
            [subSlug] => sub-cat-4
        )

)
我需要的输出html像

<div class="col-md-3">
    <ul>
        <li>Main Cat 1</li>
        <li><a href="example.com/mainSlug/subSlug">Sub Cat 1</a></li>
        <li><a href="example.com/mainSlug/subSlug">Sub Cat 2</a></li>
    </ul>
</div>

<div class="col-md-3">
    <ul>
        <li>Main Cat 2</li>
        <li><a href="example.com/mainSlug/subSlug">Sub Cat 3</a></li>
        <li><a href="example.com/mainSlug/subSlug">Sub Cat 4</a></li>
    </ul>
</div>

  • 主要类别1
  • 主要类别2

我怎样才能做到这一点?我正在使用CodeIgniter活动记录获取结果。

简单。。只需迭代数组或对象。像这样:

<?php $restaurants; //suppose this is your restaurants array? ?>
<?php foreach($restaurants as $res) { ?>
    <div class="col-md-3">
        <ul>
            <li><?php print $res['mainHead']?></li>
            <li><a href="example.com/mainSlug/subSlug"><?php print $res['subHead']?></a></li>
            <li><a href="example.com/mainSlug/subSlug"><?php print $res['subHead']?></a></li>
        </ul>
    </div>
<?php } ?>

看来你的案子是有问题的。如果第一个示例不起作用,请尝试以下方法:

<?php foreach($restaurants as $res) { ?>
    <div class="col-md-3">
        <ul>
            <li><?php print $res->mainHead?></li>
            <li><a href="example.com/mainSlug/subSlug"><?php print $res->subHead?></a></li>
            <li><a href="example.com/mainSlug/subSlug"><?php print $res->subHead?></a></li>
        </ul>
    </div>
<?php } ?>


使用
foreach迭代数组
请查看以更好地了解投票的工作原理,这里的每个人都有权按照自己的意愿投票。谢谢,谢谢你的邀请reply@Ilan哈萨诺夫,但我想你没有明白我的问题。。。。这里,mainId在每个对象中重复,但我想用mainId对输出进行分类,即mainId或mainHead(例如:Main Cat 1,Main Cat 2)应该只出现一次。如果你检查我需要的期望输出,你就会明白我在寻找什么。它就像一棵树的输出