iou3344 2021-10-15 02:54 采纳率: 85.2%
浏览 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 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法