实现原理第三大步
第一步:传入页码
第二步:根据页码取出数据
第三步:显示数据+分页条
第一步传入页码:$page = $_GET['p']; 这一步传入的页码,在浏览器中?p = 几页
第二步:根据页码取出数据,也就是PHP与mysql的一些操作
连接数据库:$link = mysqli_connect(主机名,用户名,密码,数据库) 这里加一个是否连接成功的判断if(!$link).....
查询数据库:编写sql获取分页数据,select * fron page limit 起始位置,显示条数
$sql = mysqli_query($link,“Select * from page limit" . ($page-1)*$pageSize .",$pageSize")
把SQL语句传送到数据库,进行读取数据
while($row = mysqli_fetch_assoc($sql)){ //得到的是关联数组,一一对应的关系
echo "";
echo "{$row['name']} ";
echo "{$row['id']} ";
echo " ";
}
简单阐述一下:mysql --------php
比如PHP要写一封信给mysql 首先得保证线路通畅,也就是连接正常 $link.... 连接正常以后,PHP开始写内容$sql...
道路通畅,内容写好,那下一步就是将内容($sql)发送给mysql
mysqli_fetch_assoc($sql) ,用$row这个变量来接受结果集, 如果接收到了,说明while循环的条件为真,while(true),开始执行循环里面的语句
连接成功数据库以后,释放结果,关闭连接(可有可无,不会影响程序正常运行)
但是在关闭连接的之前要先计算总页数
$totle_sql = mysqli_query($link,"select count (*) from page");
$totle_result = mysql_fetch_array($totle_sql) //得到的即可以是关联数组,也可以是索引数组,因为这里要查的总页数就一条记录,所以用索引数组
$totle = $totle_result[0]; //得到有多少条数据
$totle_page = ceil($totle/10);向上取整,一页十个数据,这样就这道有多少页了
第三步,显示数据+分页条
先来看一个最简单的分页条 只有上一页,下一页
完成上一页,下一页的跳转,用a链接完成 ,内置函数 $_SERVER 的作用:跳转到当前正在执行的文件的脚本名,
输出这两行代码echo ""; print_r($_SERVER);你就会找到PHP_SELF这个参数, [PHP_SELF] => /666/page2.php 到这里缺传入页码,所以再拼接上就ok ,另外上一页和下一页也要拼接,最后输出即可
$page_banner = "上一页 "
$page_banner .= "上一页 "
写完简单的分页,再加个首页和尾页,具体思路如下:
当前页大于一,那么显示首页和下一页,首页就是p=1 下一页就是($page+1)
当前页小于总页数,那么显示尾页和上一页,尾页就是p=总页数 上一页就是($page-1)
$page_banner = "";
if($page>1){
$page_banner.= "首页 ";
$page_banner.= "上一页 ";
}
if($page<$total_pages){
$page_banner.= "下一页 ";
$page_banner.= "尾页 ";
}
分页完成后,显示页码,也就是1,2,3,4,5... ...34567... ...7891011 这三种情况 再加上偏移量
显示页码之前,先把逻辑该清楚,
//初始化数据
$start = 1;
$end = $total_pages;
if($total_pages>$showPage)
{
if($page>$offsetpage&+1){
$page_banner.="...";
}
if($page>$offsetpage)
{
$start = $page-$offsetpage;
$end = $total_pages>$page+$offsetpage?$page+$offsetpage:$total_pages;
}
else{
$start = 1; //两个的起始页都是1,$page =1 当前页为1 $page=2 当前页为2
$end = $total_pages>$showPage?$showPage:$total_pages; //显示少的
}
if($page+$offsetpage>$total_pages){
$start = $start-($page+$offsetpage-$end); //自己再捋一捋
}
}//以上是逻辑部分,下面是实现部分
for($i=$start ;$i<$end; $i++)
{
$page_banner.= "{$i} "; //
}
if($total_pages>$showPage&&$total_pages>$page+$offsetpage){
$page_banner.="...";
}
下面是界面美化
具体所有代码如下
Document
";
//print_r($_SERVER);
//1传入页码
$page = $_GET['p'];
//2根据页码取出数据,php-》mysql
$host="127.0.0.1";
$username="root";
$password="";
$db="test";
$pageSize = 10;
$showPage = 5; //显示页码
//链接数据库
$link = mysqli_connect($host,$username,$password,$db);
if(!$link)
{
echo "数据库连接失败";
exit;
}
//选择所要操作的数据库
//mysqli_select_db($db);
//设置数据库编码格式
//mysqli_query("SET NANES UTF8");
//编写sql获取分页数据SELECT *FROM 表明LIMIT起始位置,显示条数
$sql = mysqli_query($link,"SELECT * FROM page LIMIT " .($page -1)*$pageSize .",$pageSize");
//把sql语句传送到数据库
//处理我们的数据
echo "";
echo "
";
echo "ID NAME ";
while($row = mysqli_fetch_assoc($sql))
{
echo "";
echo "{$row['name']} ";
echo "{$row['id']} ";
echo " ";
}
echo "
";
echo "
";
//释放结果,关闭链接
//mysqli_free_result($sql);
//在关闭数据库之前,要获取数据库总数,并且计算总页数
$total_sql = mysqli_query($link,"SELECT COUNT(*)FROM page");
$total_result = mysqli_fetch_array($total_sql);
$total=$total_result[0];
$total_pages = ceil($total/10); //向上取整
mysqli_close($link);
计算页数
//3:显示数据+分页条
$page_banner = "";
//计算偏移量
$pageoffset = ($showPage-1)/2;
if($page>1)
{
$page_banner .="
首页 ";
$page_banner .="
<上一页 ";
}
else{
$page_banner.="
首页 ";
$page_banner.="
<上一页 ";
}
初始化数据
$start = 1 ;
$end = $total_pages;
if($total_pages>$showPage)
{
if($page>$pageoffset)
{
$page_banner.="...";
}
if($page>$pageoffset+1){
$start = $page - $pageoffset;
$end =$total_pages>$page+$pageoffset?$page+$pageoffset:$total_pages;
}else{
$start=1;
$end = $total_pages>$showPage?$showPage:$total_pages;
} if($page+$pageoffset>$total_pages)
{
$start = $start - ($page+$pageoffset-$end);
}
}
for($i=$start;$i<=$end;$i++) {
if ($page == $i) {
$page_banner.="
{$i} ";
} else {
$page_banner .= "
{$i} ";
}
}
//省略尾页
if($total_pages>$showPage&&$total_pages>$page+$pageoffset)
{
$page_banner.="...";
}
if($page<$total_pages)
{
$page_banner .="
>下一页 ";
$page_banner .="
尾页 ";
}
else{
$page_banner.="
尾页 ";
$page_banner.="
>下一页 ";
}
$page_banner .="共{$total_pages}页";
$page_banner.="
";
echo $page_banner;
?>
你可能感兴趣的:(PHP+MYSQL实现分页效果)
罗辑思维
Krislaw
今天听到了一些关于孙先生,以及康先生一些清朝后期,辛亥革命时的一些故事。果然让我大开眼界,其实世界感觉就是这样的,牺牲一小部分人的利益,去实现个人理想利益,此乃社会大同,是惠恩社会。图片发自App图片发自App图片发自App
学会提问很重要
Jerusalem4
最近有一点很深的感触:学会提问很重要。为什么这么说?有两点现状正在驱动并让我意识到这一点。1.跟人聊天,需要有自己的想法,想法从哪里来?从独立思考里来,思考就需要多问问题,而学会提问是独立思考中很重要的一步。2.我现在开始做一些管理上的事情,管理中,有很多内容,需要我去思考去指导的,包括这个任务客户希望达到一个怎样的效果/结果?为了达成这个结果,我们需要怎样去做,去拆解任务?拆解任务之后,如何去把
Python中定义函数有哪些方法?
老男孩IT教育
python 开发语言
在Python中,函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码块,它可以提高应用的模块性,和代码的重复利用率。那么Python如何定义一个函数?以下是具体内容介绍。在Python中定义函数有多种方法。最常见的方法是使用def关键字,后跟函数名称和一对圆括号。语法:def函数名称(参数1,参数2,...):函数体示例:定义一个名为greet的函数,它接受一个name参数并打印一条问
◆日精进◆2/200
记得晚㫨
文|萍萍很多事情一个人做着坚持不下去时,找个人监督效果就不一样了。这一年里我写的感悟也不少,但唯独只有在跟伙伴一起写,被监督的时候才连续坚持记录了每天的收获和感悟。包括这次暑假实习期间也是,平时的时候就是断断续续的。昨天看了一个很优秀的人的朋友圈,一周一篇文章,每日精进,每日早间分享自己心得,每日复利生长,还不断跟优秀的人接触,不断自我思考总结,分享出来。我开始反省自己,为什么他会那么优秀?而我却
语音识别技术有哪些应用场景?
不想秃头的程序
语音识别 人工智能
语音识别技术,作为人工智能领域的重要分支,已经深入到我们日常生活的方方面面。以下是一些常见的应用场景:智能助理智能助理如Siri、GoogleAssistant以及Alexa等,都基于语音识别技术来实现用户交互。用户可以通过语音命令来拨打电话、查询信息、设置提醒等。这些助理软件能够理解多种语言和方言,并能够在复杂的环境噪声中准确识别用户的指令。智能家居在智能家居领域,语音识别被用于控制各种智能设备
AJAX异步请求数据
铸键为犁
JavaWeb ajax servlet javascript
文章目录前言一、AJAX是什么?二、使用步骤1.语法格式2.示例2.注意事项总结前言本篇主要介绍怎么使用AJAX向服务器请求数据。一、AJAX是什么?异步请求技术,可以实现页面局部刷新,在不刷新页面的情况下发送请求到后台加载数据,并且展现在前端二、使用步骤1.语法格式代码如下:$.get(url,data,function(data){})发送get请求参数1:url是后台服务器地址参数2:dat
Qt QTableWidget 触摸屏上滑动效果
hss2799
Qt
要实现QTableWidget在触摸屏上,滑动记录,记录会跟着滑动,只需要加QScroller*pScroller=QScroller::scroller(tablewidget);pScroller->grabGesture(tablewidget,QScroller::LeftMouseButtonGesture);tablewidget->setVerticalScrollMode(QLis
Keras深度学习框架入门及实战指南
司莹嫣Maude
Keras深度学习框架入门及实战指南keraskeras-team/keras:是一个基于Python的深度学习库,它没有使用数据库。适合用于深度学习任务的开发和实现,特别是对于需要使用Python深度学习库的场景。特点是深度学习库、Python、无数据库。项目地址:https://gitcode.com/gh_mirrors/ke/keras一、项目介绍Keras简介Keras是一款高级神经网络
Android 11.0 camera2关于拍照预览方向旋转90度和拍照图片镜像功能实现
安卓兼职framework应用工程师
android 11.0 Rom定制化高级进阶 android 旋转拍照方向 旋转90度拍照 拍照旋转90度 拍照镜像
1.前言在11.0的系统rom产品定制化开发中,在camera2的一些图形图像中有些是不正常的功能,比如在拍照和预览画面和手机屏幕不一致,或者在保存拍照图片的时候发现图片翻转保存了等问题,所以就需要分析下相关的问题来解决实现功能2.camera2关于拍照预览方向旋转90度和拍照图片镜像功能实现的核心类packages\apps\Camera2\src\com\android\camera\one\
深度学习驱动的车牌识别:技术演进与未来挑战
逼子歌
深度学习 车牌识别 神经网络 字符识别 YOLO 卷积神经网络
一、引言1.1研究背景在当今社会,智能交通系统的发展日益重要,而车牌识别作为其关键组成部分,发挥着至关重要的作用。车牌识别技术广泛应用于交通管理、停车场管理、安防监控等领域。在交通管理中,它可以用于车辆识别、交通违法监控和车流统计等,提高交通管理的效率和准确性。在停车场管理中,实现车辆的自动识别和收费,提升管理和服务水平。在安防监控领域,可用于追踪嫌疑人及犯罪行为。深度学习的出现为车牌识别带来了重
如何设计实现完成一个FPGA项目
芯作者
D1:verilog设计 D1:VHDL设计 fpga开发
设计并完成一个FPGA项目是一个复杂但非常有价值的工程任务。以下是一个详细的步骤指南,帮助你从零开始完成一个FPGA项目。1.项目定义与需求分析确定项目目标:明确项目要实现的功能和性能指标。需求分析:列出所有功能需求、性能需求、接口需求等。可行性分析:评估技术可行性、成本和时间预算。2.硬件选择FPGA芯片选择:根据项目需求选择合适的FPGA芯片(如Xilinx、Intel/Altera、Latt
基于鸿蒙API10的RTSP播放器(二:视频切换实现)
PlumCarefree
鸿蒙实战:RTSP播放器 音视频 华为 harmonyos
目标:设置一个播放下一个视频的按钮,通过改变url地址实现✔设置一个视频播放底部轨道,轨道左侧固定为00:00,右侧为当前已经播放的时长差✖设置音量调节按钮,再实现滑动增减音量发✖//这里为ArkTS代码,标记为ts只是为了上色好看。注意代码放置位置//1.播放位置状态变量,在结构体之外letlocationIndex:number=0;//2.设置url组,苹果测试地址,最快@Statepriv
Python 集成快递物流 API 助力订单追踪:轻松实现物流可视化
幂简集成
API实战指南 python 开发语言 API
嗨,亲爱的读者们!你是否曾经在购物的时候对订单状态感到无比焦急?是不是经常会忍不住去刷新页面,希望能看到快递小哥已经出发的消息?别担心,今天我们要聊的是一种神器,它能让你轻松实现订单的实时追踪——那就是快递物流API。通过Python代码的力量,你可以将这项功能集成到你的网站或应用中,随时随地掌握包裹的动态信息。这篇文章,我们将手把手教你如何使用Python与韵达的快递物流API来实现一个高效的物
Java中的多态性(Polymorphism)
天蓝蓝23528
java 开发语言
Java中的多态性(Polymorphism)是面向对象编程(OOP)中的一个核心概念,它允许同一个接口或方法在不同对象上具有不同的实现方式。多态性极大地提高了代码的灵活性和可扩展性,使得程序能够以一种统一的方式处理不同类型的对象。以下是对Java中多态性的详细解释,包括其定义、实现方式、优点以及具体示例。一、多态性的定义多态性是指允许不同类的对象对同一消息作出响应,即同一操作作用于不同的对象,可
育方式吗?#科普 #涨知识 #人造子宫
努力幸运
替代女性实现生养。为了证明人造子宫的可行性,美国费城儿童医院曾做过有趣的实验。科学家们将8只早产的小羊羔各自放进一个透明的塑料袋子里进行孕育。这些小羊羔的胎灵等同于22-23周的人类胎儿。塑料袋中清晰可见的粘稠液体又以模拟子宫内的羊水。袋子和小羊羔身体上还插着很多大大小小的管子,源源不断地输送着营养物质和氧气。科学家们将这样的袋子称为生育袋。生育袋放置在保温容器中,以维持妊娠所需的适宜温度。4个星
【Linux 从基础到进阶】Puppet配置管理工具使用
爱技术的小伙子
Linux从基础到进阶 linux puppet 运维
Puppet配置管理工具使用Puppet是一种开源的配置管理工具,广泛用于自动化管理和配置服务器。它通过声明式的语言定义系统状态,能够跨多台服务器实现一致性配置。Puppet对运维团队来说,是一种强大的工具,能够有效管理服务器配置并简化操作复杂性。本文将详细介绍Puppet的核心概念、安装步骤、以及如何在CentOS和Ubuntu系统上进行配置和管理。1.Puppet的核心概念在使用Puppet之
Python实时聊天室架构与API实战应用
幂简集成
python
尊敬的各位读者,欢迎参与本次共享研讨项目——利用Python构建实时聊天室。在本项目中,我们将引进一款前沿工具——发布订阅频道API,以实现聊天室内的实时交互功能。在当今信息泛滥的社会环境下,实时交流已成为人们日常生活中不可或缺的组成部分。不论是社交平台上的即时通讯,抑或是网络游戏中的实时对决,实时通信技术始终在幕后默默支持着我们的每一次互动。今日,让我们共同踏入Python的奇妙世界,亲手打造专
如何实现Java中的多态性
Good_tea_h
java python 开发语言
Java中的多态性是一个核心概念,它允许对象在其所属的类层次结构中有多种表现形式。多态性的实现主要依赖于继承、方法重写以及接口实现等机制。以下将详细阐述Java中多态性的实现方式,并探讨其原理、作用及优势。一、多态性的定义多态性(Polymorphism)在Java中指的是允许不同类的对象对同一消息作出不同的响应。简单来说,就是同一个方法调用,作用于不同的对象,可以有不同的执行结果。多态性增强了程
2024Mysql And Redis基础与进阶操作系列(8)作者——LJS[含MySQL 创建、修改、跟新、重命名、删除视图等具体详步骤;注意点及常见报错问题所对应的解决方法]
肾透侧视攻城狮
MYSQL REDIS Advance operation redis mysql 数据库 linux sql bash adb
目录1MySQL视图1.概念2.作用3.特点4.具体如何操作实现MYSQL视图4.1创建视图语法示例查看表和视图查看视图的结构查看视图属性信息(比如:显示数据表的存储引擎、版本、数据行数和数据大小等)查看视图的详细定义信息4.2修改视图简介格式举例4.3更新视图简介下述结构中不可更新的视图补充说明举例更新视图视图包含聚合函数不可更新视图包含distinct不可更新视图包含goupby、having
Java的多态性
zaneily
JAVA java 开发语言
Java的多态性多态性是面向对象编程的一个重要特征,是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类中具有不同的涵义。可以理解为一个事务的多种形态。Java实现多态有三个条件:继承,重写和向上转型。继承:在多态中必须存在有继承关系的子类和父类。重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用重写的子类方法
java 什么是多态性_Java多态性理解
职路施语
java 什么是多态性
什么是多态面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实现多态的技术称为:动态绑定(dynamicbinding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应
css鼠标移上去向上移动,css3鼠标移动图片上移效果
yo xiba
css鼠标移上去向上移动
css3的功能真是很强大,学无止境,不多说,直接上代码css部分:*{margin:;padding:;}.text-center{text-align:center}.col_cont{width:300px;height:300px;margin:auto}.thumbnail{cursor:pointer;text-decoration:none;display:block;padding:
育儿反思
小鱼莫愁
他是一年级的小豆包,入学的时候就许下愿望希望有自己能戴上电话手表。当我从老师口中得知孩子心愿的时候,我给他实现了,他高兴极了,每天听故事,与智能机器人聊天,听生活常识,最兴奋的时候就是出门后就给我打电话,汇报他的种种。每当我还未下班,他就打电话问我到哪里了,坐哪趟车。一次做饭的时候,我说一句土豆发芽了,他就喊到,不能吃了,土豆发芽就不能吃了,会中毒的。我惊讶的问他怎么知道的呢?他说电话手表里小度说
vue 表格左右拖拽调整列宽_vue中实现拖动调整左右两侧div的宽度的示例代码
weixin_40008969
vue 表格左右拖拽调整列宽
写在最前最近在使用vue的时候,遇到一个需求,实现左右div可通过中间部分拖拽调整宽度,类似于这样这是我最终的实现效果还是老话,因为我不是专业的前端工程师,只是兼职写一些简单的前端,所以这个功能的实现得益于以下博客,《vue拖动调整左右两侧div的宽度》、《vuejs中拖动改变元素宽度实现宽度自适应大小》,而我只是针对于他们提供的代码,加了亿点点自己所需要的细节。实现原理如上图所示,我们需要将要实
java 动态多态性_Java语言中动态多态性的实现及应用
阿野与阿厉
java 动态多态性
科技信息1.引言多态性(polymorphism)一词来源于拉丁语poly(表示多的意思)和mor-phos(意为形态),其字面的含义是多种形态。在面向对象系统中,多态性是其核心内容之一,反映了人们在求解问题时,对相似性问题的一种求解方法。Java语言实现了两种多态性:静态多态性和动态多态性。本文重点论述其采用重写机制实现动态多态性的原理,并结合实例讲解动态多态性的应用。2.关于多态的概念2.1继
《PPT演讲力》2021-12-30
肖申克的救赎
果-最大化PPT演讲的影响力判断PPT演讲成功与否的标准很简单,就是有没有通过PPT演讲达到你想要的效果,有没有影响观众去行动、去改变、去传播。围绕一个可以传播的观点,重复、重复再重复观点只要一个:不要在一次讲演中给观众灌输好多个观点,观点多于一个的话观众记不住,等于没有观点。演讲意识必须要从“我能讲多少”转变为“观众能记住多少”观点要重复:1.只要你有最核心、最关键的一句话,然后不断重复,就非常
Rsync服务端和客户端多模块和排错
梅坞茶坊
服务器 linux 服务器 linux 运维
一台服务器可能有N多个文件需要同步备份,那怎么办呢?其实这个也很容易解决,就是在服务器端多建几个模块,每个模块包含不同的文件夹,使用同样的密码文件即可实现.如同下面的:usechroot=false#不使用chroot,其实这个应该是针对linux系统来说的.既然是默认的,就不用修改了strictmodes=false#不使用严格的用户限制hostsallow=*#设定允许访问该服务的IP地址,如
[HarmonyOS Next示例代码] 鸿蒙UI开发 - 组件动态创建
xiaohai_09
HarmonyOS Next UI开发 harmonyos 鸿蒙
鸿蒙UI开发-组件动态创建源码下载地址介绍本示例介绍了在声明式UI中实现组件动态创建的方法效果图预览主页面广告关闭弹窗使用说明进入应用后,广告组件随即被动态创建。其分为两种,分别为图片广告与视频广告。实现思路构建广告组件。源码参考AdBuilder.ets。模拟从云端初始化卡片列表,根据云端数据生成普通卡片对象和广告卡片对象。源码参考代码可参考MainPage.ets中的aboutToAppear
微信小程序生成小程序转发链接,携带参数跳转到另外一个页面
coderYYY
前端项目教程以及代码 小程序 微信小程序 前端 javascript 微信
作者:coderYYY个人简介:前端程序媛,目前主攻web前端,后端辅助,其他技术知识也会偶尔分享欢迎和我一起交流!(评论和私信一般会回!!)个人专栏推荐:《前端项目教程以及代码》✨一、前言需求:在页面A生成分享链接(携带参数),分享到微信聊天后,好友点击链接可跳转到页面B,页面B可获取到参数二、具体实现pageA(生成链接页面):通过给button组件设置属性
高手怎样解决层出不穷的问题
403_小蜗牛_北京
我们一定有过这些遐想:万人簇拥的人脉!暴富!良好的伴侣、朋友、家庭。面对功成名就的意淫,我们突然动力无穷,那么这些场景,要怎么才能实现呢?先来看看一般人的解决办法:靠努力比如,想要女神喜欢上我,那么我就每天5点起床,给女神买好早餐,无论刮风下雨,一定在女神出门一刻偶遇她。想要实现财富自由,那么我就努力学习工作,别人工作8小时做一份工作。我同时做2份,甚至在工作空闲,还揽一份网上兼职。但是努力就有回
Dom
周华华
JavaScript html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
【Spark九十六】RDD API之combineByKey
bit1129
spark
1. combineByKey函数的运行机制
RDD提供了很多针对元素类型为(K,V)的API,这些API封装在PairRDDFunctions类中,通过Scala隐式转换使用。这些API实现上是借助于combineByKey实现的。combineByKey函数本身也是RDD开放给Spark开发人员使用的API之一
首先看一下combineByKey的方法说明:
msyql设置密码报错:ERROR 1372 (HY000): 解决方法详解
daizj
mysql 设置密码
MySql给用户设置权限同时指定访问密码时,会提示如下错误:
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number;
问题原因:你输入的密码是明文。不允许这么输入。
解决办法:用select password('你想输入的密码');查询出你的密码对应的字符串,
然后
路漫漫其修远兮 吾将上下而求索
周凡杨
学习 思索
王国维在他的《人间词话》中曾经概括了为学的三种境界古今之成大事业、大学问者,罔不经过三种之境界。“昨夜西风凋碧树。独上高楼,望尽天涯路。”此第一境界也。“衣带渐宽终不悔,为伊消得人憔悴。”此第二境界也。“众里寻他千百度,蓦然回首,那人却在灯火阑珊处。”此第三境界也。学习技术,这也是你必须经历的三种境界。第一层境界是说,学习的路是漫漫的,你必须做好充分的思想准备,如果半途而废还不如不要开始。这里,注
Hadoop(二)对话单的操作
朱辉辉33
hadoop
Debug:
1、
A = LOAD '/user/hue/task.txt' USING PigStorage(' ')
AS (col1,col2,col3);
DUMP A;
//输出结果前几行示例:
(>ggsnPDPRecord(21),,)
(-->recordType(0),,)
(-->networkInitiation(1),,)
web报表工具FineReport常用函数的用法总结(日期和时间函数)
老A不折腾
finereport 报表工具 web开发
web报表工具FineReport常用函数的用法总结(日期和时间函数)
说明:凡函数中以日期作为参数因子的,其中日期的形式都必须是yy/mm/dd。而且必须用英文环境下双引号(" ")引用。
DATE
DATE(year,month,day):返回一个表示某一特定日期的系列数。
Year:代表年,可为一到四位数。
Month:代表月份。
c++ 宏定义中的##操作符
墙头上一根草
C++
#与##在宏定义中的--宏展开 #include <stdio.h> #define f(a,b) a##b #define g(a) #a #define h(a) g(a) int main() { &nbs
分析Spring源代码之,DI的实现
aijuans
spring DI 现 源代码
(转)
分析Spring源代码之,DI的实现
2012/1/3 by tony
接着上次的讲,以下这个sample
[java]
view plain
copy
print
for循环的进化
alxw4616
JavaScript
// for循环的进化
// 菜鸟
for (var i = 0; i < Things.length ; i++) {
// Things[i]
}
// 老鸟
for (var i = 0, len = Things.length; i < len; i++) {
// Things[i]
}
// 大师
for (var i = Things.le
网络编程Socket和ServerSocket简单的使用
百合不是茶
网络编程基础 IP地址端口
网络编程;TCP/IP协议
网络:实现计算机之间的信息共享,数据资源的交换
协议:数据交换需要遵守的一种协议,按照约定的数据格式等写出去
端口:用于计算机之间的通信
每运行一个程序,系统会分配一个编号给该程序,作为和外界交换数据的唯一标识
0~65535
查看被使用的
JDK1.5 生产消费者
bijian1013
java thread 生产消费者 java多线程
ArrayBlockingQueue:
一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素。队列的尾部 是在队列中存在时间最短的元素。新元素插入到队列的尾部,队列检索操作则是从队列头部开始获得元素。
ArrayBlockingQueue的常用方法:
JAVA版身份证获取性别、出生日期及年龄
bijian1013
java 性别 出生日期 年龄
工作中需要根据身份证获取性别、出生日期及年龄,且要还要支持15位长度的身份证号码,网上搜索了一下,经过测试好像多少存在点问题,干脆自已写一个。
CertificateNo.java
package com.bijian.study;
import java.util.Calendar;
import
【Java范型六】范型与枚举
bit1129
java
首先,枚举类型的定义不能带有类型参数,所以,不能把枚举类型定义为范型枚举类,例如下面的枚举类定义是有编译错的
public enum EnumGenerics<T> { //编译错,提示枚举不能带有范型参数
OK, ERROR;
public <T> T get(T type) {
return null;
【Nginx五】Nginx常用日志格式含义
bit1129
nginx
1. log_format
1.1 log_format指令用于指定日志的格式,格式:
log_format name(格式名称) type(格式样式)
1.2 如下是一个常用的Nginx日志格式:
log_format main '[$time_local]|$request_time|$status|$body_bytes
Lua 语言 15 分钟快速入门
ronin47
lua 基础
-
-
单行注释
-
-
[[
[多行注释]
-
-
]]
-
-
-
-
-
-
-
-
-
-
-
1.
变量 & 控制流
-
-
-
-
-
-
-
-
-
-
num
=
23
-
-
数字都是双精度
str
=
'aspythonstring'
java-35.求一个矩阵中最大的二维矩阵 ( 元素和最大 )
bylijinnan
java
the idea is from:
http://blog.csdn.net/zhanxinhang/article/details/6731134
public class MaxSubMatrix {
/**see http://blog.csdn.net/zhanxinhang/article/details/6731134
* Q35
求一个矩阵中最大的二维
mongoDB文档型数据库特点
开窍的石头
mongoDB文档型数据库特点
MongoDD: 文档型数据库存储的是Bson文档-->json的二进制
特点:内部是执行引擎是js解释器,把文档转成Bson结构,在查询时转换成js对象。
mongoDB传统型数据库对比
传统类型数据库:结构化数据,定好了表结构后每一个内容符合表结构的。也就是说每一行每一列的数据都是一样的
文档型数据库:不用定好数据结构,
[毕业季节]欢迎广大毕业生加入JAVA程序员的行列
comsci
java
一年一度的毕业季来临了。。。。。。。。
正在投简历的学弟学妹们。。。如果觉得学校推荐的单位和公司不适合自己的兴趣和专业,可以考虑来我们软件行业,做一名职业程序员。。。
软件行业的开发工具中,对初学者最友好的就是JAVA语言了,网络上不仅仅有大量的
PHP操作Excel – PHPExcel 基本用法详解
cuiyadll
PHP Excel
导出excel属性设置//Include classrequire_once('Classes/PHPExcel.php');require_once('Classes/PHPExcel/Writer/Excel2007.php');$objPHPExcel = new PHPExcel();//Set properties 设置文件属性$objPHPExcel->getProperties
IBM Webshpere MQ Client User Issue (MCAUSER)
darrenzhu
IBM jms user MQ MCAUSER
IBM MQ JMS Client去连接远端MQ Server的时候,需要提供User和Password吗?
答案是根据情况而定,取决于所定义的Channel里面的属性Message channel agent user identifier (MCAUSER)的设置。
http://stackoverflow.com/questions/20209429/how-mca-user-i
网线的接法
dcj3sjt126com
一、PC连HUB (直连线)A端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 B端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 二、PC连PC (交叉线)A端:(568A): 白绿,绿,白橙,蓝,白蓝,橙,白棕,棕; B端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 三、HUB连HUB&nb
Vimium插件让键盘党像操作Vim一样操作Chrome
dcj3sjt126com
chrome vim
什么是键盘党?
键盘党是指尽可能将所有电脑操作用键盘来完成,而不去动鼠标的人。鼠标应该说是新手们的最爱,很直观,指哪点哪,很听话!不过常常使用电脑的人,如果一直使用鼠标的话,手会发酸,因为操作鼠标的时候,手臂不是在一个自然的状态,臂肌会处于绷紧状态。而使用键盘则双手是放松状态,只有手指在动。而且尽量少的从鼠标移动到键盘来回操作,也省不少事。
在chrome里安装 vimium 插件
MongoDB查询(2)——数组查询[六]
eksliang
mongodb MongoDB查询数组
MongoDB查询数组
转载请出自出处:http://eksliang.iteye.com/blog/2177292 一、概述
MongoDB查询数组与查询标量值是一样的,例如,有一个水果列表,如下所示:
> db.food.find()
{ "_id" : "001", "fruits" : [ "苹
cordova读写文件(1)
gundumw100
JavaScript Cordova
使用cordova可以很方便的在手机sdcard中读写文件。
首先需要安装cordova插件:file
命令为:
cordova plugin add org.apache.cordova.file
然后就可以读写文件了,这里我先是写入一个文件,具体的JS代码为:
var datas=null;//datas need write
var directory=&
HTML5 FormData 进行文件jquery ajax 上传 到又拍云
ileson
jquery Ajax html5 FormData
html5 新东西:FormData 可以提交二进制数据。
页面test.html
<!DOCTYPE>
<html>
<head>
<title> formdata file jquery ajax upload</title>
</head>
<body>
<
swift appearanceWhenContainedIn:(version1.2 xcode6.4)
啸笑天
version
swift1.2中没有oc中对应的方法:
+ (instancetype)appearanceWhenContainedIn:(Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION;
解决方法:
在swift项目中新建oc类如下:
#import &
java实现SMTP邮件服务器
macroli
java 编程
电子邮件传递可以由多种协议来实现。目前,在Internet 网上最流行的三种电子邮件协议是SMTP、POP3 和 IMAP,下面分别简单介绍。
◆ SMTP 协议
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一个运行在TCP/IP之上的协议,用它发送和接收电子邮件。SMTP 服务器在默认端口25上监听。SMTP客户使用一组简单的、基于文本的
mongodb group by having where 查询sql
qiaolevip
每天进步一点点 学习永无止境 mongo 纵观千象
SELECT cust_id,
SUM(price) as total
FROM orders
WHERE status = 'A'
GROUP BY cust_id
HAVING total > 250
db.orders.aggregate( [
{ $match: { status: 'A' } },
{
$group: {
Struts2 Pojo(六)
Luob.
POJO strust2
注意:附件中有完整案例
1.采用POJO对象的方法进行赋值和传值
2.web配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee&q
struts2步骤
wuai
struts
1、添加jar包
2、在web.xml中配置过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.st