有的时候从数据库取一条数据,内容很多,不想全部取出来,怎么办?

有的时候从数据库取一条数据,内容很多,不想全部取出来,怎么办?

http://img1.sycdn.imooc.com//climg/5c1f932b00017f2913280738.jpg

如图:

问题:

  1. 数据库端,假如字儿太多但又不用全部取出,请问怎么写SQL语句?

  2. 前端,如果字儿太多了,为了前端美观,只想显示部分,其他的隐藏一般是怎么做的,就想百度文章,需要点击“显示剩下的”,或者商城中 商品名太长,只能显示一部分,其他的用...替代,请问js和PHP分别如何实现的。这个效果实用,可能小伙伴们都想知道~~~

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

您好,《MySQL基础》中《字符串常用函数》小节讲解MySQL字符串函数。事务在《PHP常用技术与ThinkPHP5框架开发》会讲。substr按照字节来切分字符,mb_substr是按字符分割。如下代码,结果为“测试”。

<?php
header("content-type:text/html;charset=utf-8");
$string = "测试使用";
$mystring = mb_substr($string,0,2,"utf-8");
echo $mystring;
?>

如果是其它语言,同学可以找到对应的编码和语言进行测试。祝学习愉快!

  • 轩辕小齐V 提问者 #1
    哦哦 ,这个课我买了 回来去看看
    2019-01-02 16:30:32
好帮手慕查理 2018-12-28 18:54:36

您好,是使用MySQL中的函数substr,同学可以回顾一下MySQL基础课程中有讲解过MySQL的函数,然后根据MySQL中函数的功能进行一下操作。也可以看下链接中MySQL的相关函数:http://www.runoob.com/mysql/mysql-functions.html。

对于汉字的处理可以先将数据取出,然后使用PHP中的函数mb_substr():

mb_substr( $str, $start, $length, $encoding )

 $str,需要截断的字符串

$start,截断开始处,起始处为0

$length,要截取的字数

$encoding,网页编码,如utf-8,GB2312,GBK 。

祝学习愉快!


  • 提问者 轩辕小齐V #1
    老师,新年新气象。貌似视频中没有关于mysql 字符串的函数的讲解,但是最后你们却有一个没卵用的ECSSHOP我还以为会讲讲源码视频里的老师也总是说一会儿分析源码。。。mysql的事务啥的,锁啥的(听别人说的都不讲,貌似很多也需要在PHP中运用)
    2019-01-01 13:22:49
  • 提问者 轩辕小齐V #2
    请问老师mb_substr( ) 与substr 有啥却别?分别是按照位或者字节截取?这里麻烦解释下,如果是按照中文截取,那么不同的编码集 中文占的字节数也不一样吧? 我看参数4,是编码集,但是莫非mb_substr仅对中文好用?虽然不知道其他语言,不一定只有中文占多字节,说不定韩文啥的也是,而且不一定与中文原理一样,那么mb_substr 仅仅是适用于中文还是任何语言都行呢?
    2019-01-01 13:29:34
好帮手慕查理 2018-12-24 11:06:30

您好,PHP中可以使用MySQL函数substr。HTML中可以使用样式overflow:hidden;显示一部分内容。祝学习愉快!

  • 提问者 轩辕小齐V #1
    能不能再sql端直接就处理了,加入内容很多的话;特别的substr 截取都是遇到汉字如何判断,毕竟不同的编码汉字占不同的字节。能不能大概讲一讲
    2018-12-28 16:38:30
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4930    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师