一、数据的随机抽取

都见过那种考试题从很多题中随机抽取几道的试卷吧,现在就要做这样的一个例子:从数据库中随机抽取几条数据出来显示(例如:一百中随机挑选50条)

随机挑选是要有提交数据的,所以肯定是要有可视化界面和后台处理页面

(1)提交界面

  a.使用表单提交(做出一个表单来,这都是页面布局的程序了,在这不多说肯定都会使用from表单)如下:

<form action="nt.php" method="post">
<div class="net_title">选择题:<input id="net_xuan" type="text" style="width:50px" name="net_xuan"/></div>
<div class="net_title"><input type="submit" value="出题" /></div>
</form>

  b.提交的处理页面

<?php
include("../../js/DBDA.class.php"); //封装的数据库类
$db = new DBDA(); $nx = $_POST["net_xuan"]; //前面传过来的选择题数目 //查询代号值并且执行
$sqln = "select title from subject where code='11'";
echo $db->StrQuery($sqln); //选择题判断是否为空
if($nx == "" && $nd == "" && $ns == "" && $nm == "")
{
return false; //返回false
}
else
{
$sql = "select title from subject where code='1101'"; //选择代号是1101的题目
$attrx = $db->Query($sql); //执行语句
foreach($attrx as $vxt) //循环显示
{
echo "<p>一、{$vxt[0]}</p>"; //大题题目
}
$sqlx = " select title,xiang from subject where fcode='1101' order by rand(code) limit 0,$nx"; //随机抽取题目根据代号(order by rand(code) limit 0,$nx)
$attr = $db->Query($sqlx); //执行语句 foreach($attr as $v) //循环显示
{
for($i=1;$i<count($v);$i++)
{
echo "<div>$i{$v[0]}</div><br><div>{$v[1]}</div><br>"; //显示的题目
}
} }

这里需要主要的是:随机抽取的题目怎么写,其实就是先排序在抽取数目,用到了rand()随机数(order by rand(code) limit 0,3)

这样的话抽取随机数就出来~~~想要不重复的随机的话,可以在查询的语句中添加不重复distinct

二、零碎的知识点

(1)jq菜单

效果:鼠标移动上有颜色的差别,单击选中显示,鼠标移出菜单后只显示选中的效果,其他的没有,鼠标移上显示移上的颜色

  a.显示样式不多说,怎么布局也是会的,直接看代码和效果,如下:

<ul>
<li class="xiang">项目一</li><!--都添加一个名字,后面使用名字进行操作-->
<li class="xiang">项目二</li>
<li class="xiang">项目三</li>
<li class="xiang">项目四</li>
</ul>

  b.进行jq逻辑编写,如下:

//鼠标单击选中
$(".xiang").click(function(){
//所有元素背景色变成原来的
$(".xiang").removeAttr("xz");
$(".xiang").css("background-image","url(../img/lift_li_bj_02.gif)");
//找到点击了谁
$(this).attr("xz","1");
$(this).css("background-image","url(../img/lift_li_02_02.gif)");
})
//鼠标移上
$(".xiang").mousemove(function(){
//所有元素背景色变成原来的
$(".xiang").css("background-image","url(../img/lift_li_bj_02.gif)");
//找到点击了谁
$(this).css("background-image","url(../img/lift_li_02_02.gif)");
$("[xz='1']").css("background-image","url(../img/lift_li_02_02.gif)");
})
//鼠标移出
$(".xiang").mouseout(function(){
//所有元素背景色变成原来的
$(".xiang").css("background-image","url(../img/lift_li_bj_02.gif)");
//找到点击了谁
$("[xz='1']").css("background-image","url(../img/lift_li_02_02.gif)");
})

  

(2)jq鼠标单击框后,框随鼠标移动

  a.显示框的样式,这里就是一个普通的框,如下:

  (1)div显示

<div class="aa">
<p>鼠标摁下就可以拖着我移动哦~</p>
<p>鼠标松开我就不动了哦~</p>
</div>

  (2)style样式(样式效果不多说,都是写简单的样式)如下:

<style>
.aa{
    height: 100px; /*宽、高*/
    width:300px;
    position: absolute; /*定位*/
    border:6px solid #90F; /*边框*/
    text-align:center; /*里面内容位置*/
    vertical-align:middle;
    line-height:25px;
}
</style>

效果图如下:  

  b.jq移动效果逻辑编写

//找到框的名字,添加事件
$(".aa").mousedown(function(e){ //鼠标摁下
  $(document).bind("mousemove",function(e){ //bind()事件挂起:绑定事件(事件名称,执行代码)
    $(".aa").css("left",e.pageX).css("top",e.pageY) //pageX和pageY可以获取鼠标移动的坐标位置
  });
})
$(".aa").mouseup(function(){ //鼠标松开
  $(document).unbind("mousemove") //移除事件:解绑(事件名称)
})

  

该逻辑的整体效果如下:

a.鼠标没有拖动的效果:

b.鼠标摁下后拖动的效果:

pageX和pageY可是获取这个鼠标的横轴和纵轴的值

<p>鼠标指针位于: <span></span></p>  <!--这是一个显示鼠标横纵值的数-->

$(document).ready(function(){
$(document).mousemove(function(e){ //鼠标移动
$("span").text("X: " + e.pageX + ", Y: " + e.pageY); //添加内容到span中,这就是鼠标移动到哪就会在span中显示数值
});
});

随时补充知识点~~

学习和分享并不是冲突滴~~~

数据的随机抽取 及 jQuery补充效果(菜单、移动)的更多相关文章

  1. 原!!mysql,几十万条数据中随机抽取1万以内的数据

    想了几种方法: 1.将所有符合条件的对象集合都查出来,在代码里做随机. 2.先查出所有符合条件的id,再代码随机需要抽查数量的id,再 到数据库 中 in. 3.利用order by rand() l ...

  2. 9. 获得图片路径,构造出训练集和验证集,同时构造出相同人脸和不同人脸的测试集,将结果存储为.csv格式 1.random.shuffle(数据清洗) 2.random.sample(从数据集中随机选取2个数据) 3. random.choice(从数据集中抽取一个数据) 4.pickle.dump(将数据集写成.pkl数据)

    1. random.shuffle(dataset) 对数据进行清洗操作 参数说明:dataset表示输入的数据 2.random.sample(dataset, 2) 从dataset数据集中选取2 ...

  3. Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 原理and实现

    Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 1. 应用场景 1 2. 随机抽取数据原理 1 3. 常用的实现方法:::数据库随机函数 1 4. Mssq ...

  4. laravel如何从mysql数据库中随机抽取n条数据

    laravel如何从mysql数据库中随机抽取n条数据 一.总结 一句话总结: inRandomOrder():$userQuestions=UserQuestion::where($map)-> ...

  5. SQL Server 随机数,随机区间,随机抽取数据rand(),floor(),ceiling(),round(),newid()函数等

    在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数.那就看下面 ...

  6. PHP中如何在数组中随机抽取n个数据的值 - array_rand()?

    PHP中如何在数组中随机抽取n个数据的值? 最佳答案 array_rand() 在你想从数组中取出一个或多个随机的单元时相当有用.它接受 input 作为输入数组和一个可选的参数 num_req,指明 ...

  7. sql 随机抽取几条数据的方法 推荐

    传说用这个语句管用:select top 5 * from tablename order by newid() 我放到sql的查询分析器里去执行果然管用,随机抽取5条信息,不停的换,结果我应用到程序 ...

  8. 从数据表中随机抽取n条数据有哪几种方法(join实现可以先查数据然后再拼接)

    从数据表中随机抽取n条数据有哪几种方法(join实现可以先查数据然后再拼接) 一.总结 一句话总结:最好的是这个:"SELECT * FROM table WHERE id >= (( ...

  9. Oracle整合Mybatis实现list数据插入时,存在就更新,不存在就插入以及随机抽取一条记录

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 目录 Oracle整合Mybatis实现list数据插入时,存在就更新,不存在就插入 entity 对应表中字段,如不对应,在xml中起别名 map ...

随机推荐

  1. JS--我发现,原来你是这样的JS:面向对象编程OOP[2]--(创建你的那个对象吧)

    一.介绍 我们继续面向对象吧,这次是面向对象编程的第二篇,主要是讲创建对象的模式,希望大家能从博客中学到东西. 时间过得很快,还是不断的学习吧,为了自己的目标. 二.创建对象 1.前面的创建对象方式 ...

  2. 私人网盘系统2.0—全部升级为layUI+PHP(持续更新中)shang

    网盘系统2.0   上周,我做了第一版的“私人网盘系统”,http://www.cnblogs.com/sunlizheng/p/7822036.html 没看过的朋友可以去看一下,这周在家升级做了第 ...

  3. mybatis逆向工程使用步骤详解

    使用mybatis生成逆向工程的详细步骤,我个人感觉这个是最简单的一个了,虽然网上有很多种的方法来生成逆向工程,可是这个方法最简单.在这里我是使用maven搭建的环境,但是在正常的环境下也是一样的.步 ...

  4. SpringMVC 快速入门

    SpringMVC 快速入门 SpringMVC 简介 SpringMVC是 Spring为展示层提供的基于Web MVC设计模式的请求驱动类型的轻量级Web框架,它的功能和Struts2一样.但比S ...

  5. 分布式缓存之Ehcache与terracotta - Terracotta服务器概念篇

    1.介绍 Terracotta服务器为Terracotta产品提供分布式数据平台.Terracotta服务器集群被称为Terracotta服务器阵列(TSA).Terracotta服务器阵列可以从单个 ...

  6. HTML5学习指导路线

    HTML5是现在热门的技术,经过8年的艰苦努力,该标准规范终于制定完成,在这里为想要学习HTML5初级程序员详细划分一下学习内容和步骤,让大家清楚的知道HTML5需要学什么?能够快速掌握HTML5开发 ...

  7. 关于apidoc文档生成不了的一个原因

    前几天在写完API后,写注释文档,然后很习惯的去用apidoc取生成注释文档,但是奇怪的事发生了,没有注释的内容,也没有报错:注释代码如下: /* * @api {get} /applet/:id 根 ...

  8. Less 原理

    Less 原理 Less 包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的 CSS 文件. Less 并没有裁剪 CSS 原有的特性,更不 ...

  9. ctags-vim代码间快速跳转

    ctags-vim代码间快速跳转 1.说明 在Linux环境下使用vim进行驱动程序编写和维护的时候,会经常需要调用Linux内核的函数或宏定义,在驱动程序和kernel代码之间频繁跳转是件很繁琐的事 ...

  10. Django框架中的model(操作数据库)

    什么是ORM ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复 ...