iou3344 2021-10-15 02:54 采纳率: 84.1%
浏览 139
已结题

PHP以Json格式导出Mysql数据库的特殊要求

以下是mysql数据库的某表结构和其第一条数据『字段名称为汉字』

序号产品详情产品图片动作要领图示价格厂家名称厂家地址联系电话产品链接产品介绍使用说明
1跑步机1.jpg2.jpg#3.jpg#4.jpg20元厂家名称厂家地址联系电话网址a跑步机的产品介绍文字跑步机的使用说明

以下是现有PHP代码,用于导出上表内容为json格式

$columns = array(
    array( 'db' => '序号', 'dt' => 0 ),
    array( 'db' => '产品详情',  'dt' => 1 ),
    array( 'db' => '产品图片',   'dt' => 2 ),
    array( 'db' => '动作要领图示',     'dt' => 3 ),
    array( 'db' => '价格', 'dt' => 4 ),
    array( 'db' => '厂家名称',  'dt' => 5 ),
    array( 'db' => '厂家地址',   'dt' => 6 ),
    array( 'db' => '联系电话',     'dt' => 7 ),
    array( 'db' => '产品名称',   'dt' => 8 ),
    array( 'db' => '产品介绍',     'dt' => 9 ),
    array( 'db' => '使用说明',   'dt' => 10 ),
);
echo json_encode(
    SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);

导出的json数据如下:

{
    "data": [
    [
    1,
    "跑步机",
    "1.jpg",
    "2.jpg#3.jpg#4.jpg",
    "20元",
    "厂家名称",
    "厂家地址",
    "联系电话",
    "网址a",
    "跑步机的产品介绍文字",
    "跑步机的使用说明"
    ]
    ]
}

需求:修改上述PHP代码,导出如下格式的json

{
    "data": [
    [
     1,
      "<span class='tooltips' data-title='跑步机' data-content='<B>生产日期:</B>2020/04/24<br><B>出厂日期:</B>2020/05/24<br><B>规格:</B>20KG<br>' data-placement='right'>产品详情</span>",
      "<div class='imgs' data-imgurl='l.jpg'><a data-fancybox='Image' class='fancybox-caption__body' data-caption='跑步机<br>跑步机的产品介绍文字' href='l.jpg'>产品图片</a></div>",
      "<a data-fancybox='sample-image' class='fancybox-caption__body' data-caption='跑步机<br><br>跑步机的产品介绍文字<span>跑步机的使用说明</span>' href='2.jpg'>动作要领<img class='smallpic' src='2.jpg' /></a><a data-fancybox='sample-image' class='fancybox-caption__body' data-caption='跑步机<br><br>跑步机的产品介绍文字<span>跑步机的使用说明</span>' href='3.jpg'>动作要领<img class='smallpic' src='3.jpg' /></a><a data-fancybox='sample-image' class='fancybox-caption__body' data-caption='跑步机<br><br>跑步机的产品介绍文字<span>跑步机的使用说明</span>' href='4.jpg'>动作要领<img class='smallpic' src='4.jpg' /></a>",
      "<a target='_blank' href='网址a'>产品链接</a>"
    ]
    ]
}

也许有人注意到了,这是datatables服务器端获取JSON的一段PHP代码,是的,的确是datatables的。所以,还希望有经验的师傅出手相助啊。此时此刻,授人以鱼比授人以渔要简单粗暴有效哈😂😂,谢谢您。

  • 写回答

4条回答 默认 最新

  • 一把编程的菜刀 2021-10-15 11:04
    关注
    <?php
    $columns = array(
    
        array( 'db' => '序号', 'dt' => 0 ),
    
        array( 'db' => '产品详情',  'dt' => 1 ),
    
        array( 'db' => '产品图片',   'dt' => 2 ),
    
        array( 'db' => '动作要领图示',     'dt' => 3 ),
    
        array( 'db' => '价格', 'dt' => 4 ),
    
        array( 'db' => '厂家名称',  'dt' => 5 ),
    
        array( 'db' => '厂家地址',   'dt' => 6 ),
    
        array( 'db' => '联系电话',     'dt' => 7 ),
    
        array( 'db' => '产品名称',   'dt' => 8 ),
    
        array( 'db' => '产品介绍',     'dt' => 9 ),
    
        array( 'db' => '使用说明',   'dt' => 10 ),
    
    );
    //echo json_encode( SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )); //只需要把这个改成以下的方式即可
    $result_temp=SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns );
    //然后循环
    $result=array();
    foreach($result_temp as $key=>$val){
        $fleimg=explode("#",$val['动作要领图示'])
        $imgstr='';
        foreach($fleimg as $k=>$v){
            $imgstr=$imgstr+"<a data-fancybox='sample-image' class='fancybox-caption__body' data-caption='".$val['产品介绍'].$val['使用说明']."' href='".$v."'>动作要领<img class='smallpic' src='".$v."' /></a>";
        }
        $result[]=array($val['序号'],  "<span class='tooltips' data-title='".$val['产品详情']."' data-content='".$val['产品介绍']."' data-placement='right'>产品详情</span>","<div class='imgs' data-imgurl='".$val['产品图片']."'><a data-fancybox='Image' class='fancybox-caption__body' data-caption='".$val['产品介绍']."' href='".$val['产品图片']."'>产品图片</a></div>",$imgstr,"<a target='_blank' href='网址a'>产品链接</a>")
    }
    echo json_encode($result);
    ?>
    
    

    具体的,你再根据你自己的内容修改最后的显示结果吧,主要就是把json_encode( SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns ))分成
    $result_temp= SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
    和echo json_encode($result); 来进行处理

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 修改了问题 10月15日
  • 修改了问题 10月15日
  • 展开全部

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀