php想要调用js类里中某一个方法的一个参数值怎么调用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php想要调用js类里中某一个方法的一个参数值怎么调用相关的知识,希望对你有一定的参考价值。

有没有直接调用的方法?

php是不能直接调用JS代码里的变量的,不过你可以用Ajax方式把js中的变量值传递到PHP中,如果说你要在PHP中调用JS里的变量,那说明你的软件设计可能也存在问题,一般是没有这种需求的。 参考技术A 可以在html页面里调用JS方法,然后用PHP在形参的地方输值。在PHP程序中调用的话,就不知道了。水平不高,请见谅 参考技术B echo '<script> XXXXXX</script>'

数据库中某项其中一个值在该项排第几,php+mysql

想做一个打卡次数排名的程序,现在有一个表,内容如下:

xuehao cishu
100 1
103 21
112 6
126 10
……
然后需要得出某一个xuehao下的值对应的cishu,在整个表里cishu排第几
比如说 我想知道xuehao为112的人他打卡次数是6次,那么按照次数排序,是排第几
环境是php+mysql
求php实现代码,谢谢,可以再加分

这个如果想要性能的话,就用下面的sql语句实现:
select orderNo from (select (@rowNum:=@rowNum+1) orderNo , xuehao,cishu from record,(Select (@rowNum :=0) ) b
order by cishu desc)t where t.xuehao=112
然后php获得这条结果数组,取第一个元素即是排序

如果对这个sql语句有疑问,不明白,可以使用一个比较耗费性能的方法:
select xuehao,cishu from record order by cishu desc
执行这条语句,获得一个数组$res
遍历前设置一个记录排序的标识 $seq=1;
for(...)
$xuehao=$res['xuehao'];//把第seq 个位置的学号拿出来,跟想要的学号比
if($xuehao==112)
break;

$seq++;

//如果 这个排序标识比结果集数组大小还大,说明没这个学号的记录,否则,就是这个学号打卡次数的排序。
$seq就是排序追问

恩,类似第一个的方法我也试过,当时看的这个http://zhidao.baidu.com/question/516888937.html问题的解决方案,也得出了排序的结果
但是现在想要知道 某一个学号的打卡次数排第几应该怎么求啊?
我之前问了一个问题http://zhidao.baidu.com/question/569980187
如果能解决 两个题目的分一起给你

追答

某一个学号的打卡次数排第几应该怎么求啊 ,你新学php?还是新学sql?上面说的很清楚了啊。
第一种方法,把所有的人打卡次数按逆序排列,组成一个结果集,然后用想要找的那个学号作为条件,从这个结果集里查找。就找到这个学号的打卡次数排序了啊。

第二种方法,更好理解,把所有的打卡次数排序全取出来,组成一个数组集合,然后从头遍历,每遍历一个,排序会+1,知道找到这个学号为止,就知道这个学号的排序了啊。

追问

我是新手
我之前问了一个问题http://zhidao.baidu.com/question/569980187

现在得到的数据是三维数组吧,那么怎么根据学号去获得排序的值呢?
难道用foreach循环吗?那几万条数据不是要很久

追答

……用第一种方法,得到的是一个只有一个元素的数组!Array([0]>5)一次性获得某个学号打卡次数排第几了!

用第二种方法,得到的是类似这样的数据Array ( [0] => Array ( [xuehao] => 20110407101 [cishu] => 87 ) [1] => Array ( [xuehao] => 20120402425 [cishu] => 86 ) ,然后遍历这个数组,看要找的学号位于数组的第几位,即为名次

追问

恩,出来了,谢谢啊
现在用第一个方法得到的数据是
Array ( [0] => Array ( [orderNo] => 152 ) )
能弄成一位数组吗?
对了你可以在http://zhidao.baidu.com/question/569980187这个问题回答,我把分一起给你

追答

Array ( [0] => Array ( [orderNo] => 152 ) )
能弄成一位数组吗?
这种格式是查询结果集的固定格式,没个结果集都是一个包含了N个数组的数组。
第一种方式因为只会查到一条结果,所以它才是一个只包含了一个数组的数组。res[0][‘orderNo’]就拿出来了。应该是这样。

追问

刚才那个一位数组的是不是不可以完成?话说有没有php函数可以完成的?
还有怎么再以第二个条件来排序呢?比如说还有一个项是time,先按照次数来排序然后再按照time时间先后来
还有如果,直接去掉重复的来排名,比如说现在打卡数据是“5、5、4、4、3、3”那么现在打卡4次的就是排名第二,这个可以实现吗?
谢谢

参考技术A select count(*) form record where cishu>(select cishu form record where xuehao=112) 这是单查学号得排行,,不知你想得结果,得列表,,注意还有次数相等的情况,有并列的

以上是关于php想要调用js类里中某一个方法的一个参数值怎么调用的主要内容,如果未能解决你的问题,请参考以下文章

php函数中,多个参数的情况下怎么使其中一个参数为默认值而其他的使用指定值

PHP中怎么才能调用JS文件里的一个函数!

数据库中某项其中一个值在该项排第几,php+mysql

Java通过接口或者抽象类调用方法的时候,怎么知道调用的是哪个实现类里的方法?

PHP如何调用JS函数并获取其返回的数据?

php 删除一维数组中某一个值元素的操作方法