html php结果,php-将查询结果转换为HTML列表

我真的只是将脚趾浸入PHP和MySQL.我已经按照自己想要的方式进行了这项工作,但是我知道这很丑陋,我想知道真正知道自己在做什么的人将如何完成这项工作.

function displayCategoryMenu($db){

echo '

  • ';

foreach($db->query('SELECT * FROM categoryDb, thingDb WHERE category = category AND categoryId= "aaa0001" ORDER BY category, thingName') as $row){

if($categoryName!== $row['categoryName']){

$categoryName= $row['CategoryName'];

echo '

'.$categoryName.'';

}

echo'

'.$row['thingName'].'';

}

echo '

';

echo '

  • ';

foreach($db->query('SELECT * FROM categoryDb, thingDb WHERE category = category AND categoryId= "aaa0002" ORDER BY category, thingName') as $row){

if($categoryName!== $row['categoryName']){

$categoryName= $row['CategoryName'];

echo '

'.$categoryName.'';

}

echo'

'.$row['thingName'].'';

}

echo '

';

$db=null;

}

这基本上会导致一个无序的列表菜单,其中第一个孩子充当标题:

  • category1Name
  • thing
  • thing
  • thing
  • category2Name
  • thing
  • thing
  • thing

要么:

类别1

>东西

>东西

>东西

分类2

>东西

>东西

>东西

等等…

每个ul代码中的唯一区别是“ categoryId”(aaa0001,aaa0002等),我只能想象我将以最艰难的方式来尝试此问题,并使用最丑陋的代码.我很想看看应该怎么做.

解决方法:

您应该将类​​别ID列表存储在数组中的某个位置,在使用变量代替类别ID的同时对其进行迭代.就像是 :

function displayCategoryMenu($db){

$categoryIds = array('aaa0001', 'aaa0002');

foreach ($categoryIds as $categoryId) {

echo '

  • ';

foreach($db->query('SELECT * FROM categoryDb, thingDb WHERE category = category AND categoryId= "' . $categoryId . '" ORDER BY category, thingName') as $row) {

if($categoryName !== $row['categoryName']){

$categoryName = $row['CategoryName'];

echo '

' . $categoryName . '';

}

echo '

' . $row['thingName'] . '';

}

echo '

';

}

}

在这里,数组$categoryIds包含必须显示的ID列表,您可以根据需要动态生成或将其作为函数参数传递,它很容易扩展. foreach循环遍历此数组的每个元素,并对循环中$categoryId变量表示的每个ID所做的HTML显示和SQL查询作业完全相同.

关于$db的旁注= null; line:如果您不传递$db函数参数as a reference,则按照您的方式修改函数中的值不会对原始变量产生任何影响,此行在这里是不必要的.

标签:mysql,php

来源: https://codeday.me/bug/20191201/2078516.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值