如题:分享你目前为止最得心应手的一段代码!
相信搞程序的小伙伴,坑定在个别问题上搞了很久,有时可能放弃了,有时可能用一个吊炸天的逻辑解决了!!这样的东西,要分享出来啊!!!一个人玩代码多没意思,小伙伴需要你有逼格的炫耀啊!!
当然不在于难度哈!!只要是自己苦思冥想出来的都可以晒一晒!
比如我的:以前写得东西已经记不得了,最近遇到过一个问题。
一条数据中有两个字段A,B,A是开始时间,B是结束时间。如果两条数据时间范围有重叠,就要把这两条数据检测出来!
正确范围A
错误有重叠,无论几条数据!
最后怎么找出这个表里面存在错误重叠的数据呢?大家也可以各抒己见,这是我最后的解决方法。
建立一个日期表,就一个字段,涵盖数据出现的所有范围。
如下表,
然后用目标表关联日期表,如果有重复日期,它的count数量就是大于1条!!明白了吗?当然我这里没有单独写上述逻辑代码,而是用的实际代码,工作中要考虑如果同一范围其中一个字段之和不大于1也是正确的。
所以代码如下,可以参考一下,逻辑是一样的。
SESSION.TMP_EMP_X_DEP_CST可以理解要查找错误数据的表,DIM.DIM_SYS_DATE是日期维度表`
来啦来啦!!
分享你目前为止最得心应手的一段代码!!!
手机话费 x 2
云栖定制电脑包 x 2
zijiejiang
已获得云栖定制电脑包
复制链接去分享
8年前自己做了个个人网站
是为了学习,也是为了别出心裁,我自己用php写了个人博客性质的网站。那个时候已经有比较好的开源程序了,但是总觉着不如自己写好,完全是一种初学者的热情。
话说,为了显示一个如下效果的日历表。
我在网上搜了好多源码,加以研究利用。没有找到合适的,干脆就自己开工写了个吧!
记得当时,日期和星期几老是对不上号。比如今天2018年5月31日星期四,我写完代码发现,我的每个月1号都是星期一!这个问题困扰了我好几天,各种方法都试,最后居然成功了!兴奋了好几天,虽然到现在我也没再看看到底是什么原因就突然弄好了。反正是能用了!
最关键的代码在下面这个函数里:
function Show_Calendar()
{
echo "<table width='181' border='0'><tr>".$this->title_link()."</tr><tr>";
$weekarray=array("日","一","二","三","四","五","六");
for($k=0;$k<=6;$k++)
{
echo "<td>".$weekarray[$k]."</td>";
}
echo "</tr>";
if($this->oneday_week()==5 && $this->endday()==31) $p=5;
else if($this->oneday_week()==6 && $this->endday()>=30) $p=5;
else $p=4;
for($i=0;$i<=$p;$i++)
{
echo "<tr>";
for($j=1;$j<=7;$j++)
{
$math=( $j - $this->oneday_week() ) + 7 * $i;
echo "<td>";
if($math <= $this->endday() and $math>=1)
{
$query_date=$this->year.'-'.$this->month.'-'.$math;
$query=sprintf("select * from kep_ where kep_date='%s'",$query_date);
$result=mysql_query($query);
$op=0;
while ($row=mysql_fetch_row($result)){
$op++;
}
mysql_free_result($result);
if ($op&&$query_date!=date('Y-n-d')) echo '<a href="kep.php?date='.$query_date.'" style="color:#0066FF">'.$math.'</a>';
else if ($op&&$query_date==date('Y-n-d')) echo '<strong><a href="kep.php?date='.$query_date.'" style="color:#0066FF">'.$math.'</a></strong>';
else {
if ($query_date==date('Y-n-d')) echo '<strong>'.$math.'</strong>';
else echo $math;
}
}
echo " </td>";
}
echo "</tr>";
}
echo "</table>";
}
就像一个小孩学习骑自行车,有一天他真的摇摇晃晃骑出了好长一段距离。那种感觉,也许就是我当时完成这段代码的感受吧
海阔天空yy
已获得云栖定制电脑包
复制链接去分享
上学的时候,很羡慕那些能做出游戏的,于是就想自己实现一个类似 打乒乓球的游戏,
那时候是用VB,就是用计时器控制控件的移动,主要是改变控件x,y的坐标,到达窗口边缘还会按着反弹规则反弹,当时在想估计会有多复杂,没想到后来实现完,经过几次代码优化,核心代码就几行就行了,所以很有成就感。
后来上学做的那个源代码找不到了,我有时间自己用js实现了一个,以此来怀念那段时光。
‘‘
this.move=function(){
if ( this.top+this.step_x<0 || (this.top +this.step_x+ this.height)>document.body.clientHeight) {
this.step_x*=-1;
}
if ( this.left+ this.step_y <0 || (this.left+ this.step_y + this.width)>document.body.clientWidth) {
this.step_y*=-1;
}
this.top += this.step_x;
this.left += this.step_y;
if (this.top<0){
this.top=0;
this.step_x=Math.abs(this.step_x);
}
if (this.left<0){
this.left=0;
this.step_y=Math.abs(this.step_y);
}
if (this.top+ this.height>document.body.clientHeight){
this.top=document.body.clientHeight-this.height;
this.step_x=Math.abs(this.step_x)*-1;
}
if (this.left+ this.width>document.body.clientWidth){
this.left=document.body.clientWidth-this.width;
this.step_y=Math.abs(this.step_y)*-1;
}
document.all(this.id).style.top=this.top+"px";
document.all(this.id).style.left=this.left+"px";
’’
运行图
浮生递归
已获得手机话费
复制链接去分享
先来说下你这个笑话……好冷。是因为有冷空气吗?
平时因为都是自己凭空写,所以也无法知道自己的代码是好是坏的。修改别人的代码,只有一次。就是一套滑动门的特效。我接手项目时,前员工已经写好了滑动门的JS特效代码。我一看,这么简单的效果,要几十行JS这么多?看我一句话搞定:
divId1上onMouseOver="divId1.style.display='block';divId2.style.display='none';'"
divId2上onMouseOver="divid2.style.display='block';divid1.style.display='none';'"
搞定,收工!
微wx笑
已获得手机话费
复制链接去分享
曾经写过这样一段代码:
function showPropertyAndObject(objText, n, Tab, cdn){
var ss = showPropertyAndObject_(objText, n, Tab, cdn);
parent.displayWindow.document.write(ss);
document.form2.displayArea.value = ss.replace(/<br>/gi, "\r\n");
//alert(ss);
}
function showPropertyAndObject_(objText, n, Tab, cdn){
n += 1;
var totalInfo = "";
var sWord = document.form1.tb_search.value;
for (var w in eval(objText)){
try{
if (sWord.length > 0){
if (w.toString().indexOf(sWord) > -1){
totalInfo += (Tab + objText + "." + w + " = " + eval(objText + "."+w) + "<br>");
}
}else{
totalInfo += (Tab + objText + "." + w + " = " + eval(objText + "."+w) + "<br>");
}
if (eval(objText + "."+w) && n < cdn) totalInfo += showPropertyAndObject_(objText + "." + w, n, "│ " + Tab, cdn);
}catch(e){
e = "";
}
}
return(totalInfo);
}
功能如下图:
要的就是这样的帖子!!!!很厉害呢
奇怪打赏按钮怎么不见了