不用數(shù)學(xué)思維 從語法角度
function numDisplay($num = 0){
return ($num<10)?$num:strval($num)[0].'0+';
}
---新增 如果長度未知----
function numDisplay($num = 0){
return ($num<10)?$num:strval($num)[0].str_repeat('0',strlen($num)-1).'+';
}報(bào)錯(cuò)已經(jīng)告訴你了,父級的$public 不是一個(gè)靜態(tài)變量,應(yīng)該使用$this->去獲取
500明顯不是前端的鍋,服務(wù)器那邊代碼的設(shè)置問題header('Access-Control-Allow-Origin:*');
加這個(gè)允許其他域名訪問
session_id 默認(rèn)是由cookie 走h(yuǎn)ttp請求發(fā)送到服務(wù)器的
由于cookie是同源同域策略,所以跨域的時(shí)候session_id 無法帶過去.
可以把session_id 走GET傳參的方式帶過去.只要其他域名帶上了相同的session_id 就能實(shí)現(xiàn)回話保持.
<view class='tab'>
<view class='tab-menu'>
<view class='menu' wx:for="{{tabs}}" wx:key="{{index}}" data-tabidx="{{index}}" bindtap='switchTab'>
<text>{{item}}</text>
<view class='currentTab' wx:if="{{tabIdx === index}}"></view>
</view>
</view>
<swiper class='tab-content' current='{{tabIdx}}' bindchange='scrollTab'>
<swiper-item>
<view class='question-wrap'>
<view class='question-header'>
<text>[{{questions[current].type}}]</text>
<text class='total'><text class='current'>{{current+1}}</text>/{{questions.length}}</text>
</view>
<view class='title'>{{questions[current].title}}</view>
<view class='options'>
<view class='opt {{questions[current].right === index ? "right" : ""}}' wx:for="{{questions[current].options}}" wx:key="{{index}}">
<view class='tag'>
<image src='/icons/right.png' wx:if="{{questions[current].right === index}}"></image>
</view>
<view class='content'>{{item.content}}</view>
<text class='rate'>{{item.rate}}</text>
</view>
</view>
</view>
<view class='btns'>
<button disabled='{{current <= 0}}' bindtap="showPre">上一題</button>
<button disabled='{{current >= questions.length-1}}' bindtap="showNext">下一題</button>
</view>
</swiper-item>
<swiper-item>
<scroll-view scroll-y class='totalRank' lower-threshold="150" bindscrolltolower="getRank">
<view class='user' wx:for="{{ranks}}" wx:key="{{index}}">
<image src='{{item.img_url}}' class='avator'></image>
<view class='name'>{{item.name}}</view>
<view class='score'>{{item.score}}分</view>
<view class='order'>第{{item.no}}名</view>
</view>
</scroll-view>
</swiper-item>
</swiper>
</view>
page {
display: flex;
flex-direction: column;
height: 100%;
background: #fff;
font-size: 30rpx;
}
.tab {
flex: 1;
display: flex;
flex-direction: column;
}
.tab-content {
flex: 1;
overflow-y: auto;
}
.tab-menu {
height: 104rpx;
display: flex;
}
.currentTab {
background: #42c541;
height: 2rpx;
width: 132rpx;
position: absolute;
bottom: 20rpx;
}
.tab-menu .menu {
flex: 1;
text-align: center;
font-size: 28rpx;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
swiper-item {
overflow: auto;
}
.totalRank {
height: 100%;
}
.avator {
width: 60rpx;
height: 60rpx;
border-radius: 50%;
}
.user {
height: 88rpx;
display: flex;
align-items: center;
background: #f4f4f4;
padding: 0 43rpx;
margin: 30rpx 30rpx 0 30rpx;
border-radius: 10rpx;
box-sizing: border-box;
font-size: 24rpx;
}
.name, .score, .order {
flex: 1;
text-align: center;
}
.name{
margin-left: 50rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.order {
color: #42c541;
text-align: right;
}
.question-wrap{
display: flex;
flex-direction: column;
margin: 0 30rpx;
border: 2rpx solid #DCDCDC;
border-radius: 10rpx;
box-sizing: border-box;
padding: 0 50rpx;
margin-top: 40rpx;
}
.question-header{
display: flex;
justify-content: space-between;
margin-top: 60rpx;
}
/* .question-wrap .options{
max-height: 600rpx;
overflow: auto;
} */
.question-header .total{
color: #E3E3E3;
}
.question-header .current{
color: #353535;
}
.question-wrap .title{
margin-top: 36rpx;
min-height: 178rpx;
}
.opt{
text-align: center;
position: relative;
background: #F0F0F0;
margin-bottom: 44rpx;
border-radius: 10rpx;
padding: 26rpx 20rpx;
display: flex;
align-items: center;
}
.opt image, .opt .tag{
width: 46rpx;
height: 34rpx;
}
.opt .rate{
min-width: 3em;
}
.opt .content{
flex: 1;
text-align: center;
}
.right{
background: #FF920B;
color: #FFF;
}
.btns{
display: flex;
margin-top: 60rpx;
position: fixed;
left: 0;
bottom: 0;
width: 100%;
height: 148rpx;
}
.btns button{
width: 260rpx;
height: 88rpx;
line-height: 88rpx;
text-align: center;
border-radius: 10rpx;
color: #FFF;
background: #41C629;
}
.btns button:active{
background: #179B16;
color: #A2D7A2;
}
.btns button[disabled]:active{
background: #F7F7F7;
color: #ACACAC;
}
Page({
data: {
tabs: [
'題目分析',
'成績排名'
],
ranks: [
{ name: '張三', score: 93 },
{ name: '李四', score: 60 },
{ name: '趙六', score: 8 },
{ name: '王五', score: 1000 },
{ name: '馮二', score: 45 }
],
questions: [],
current: 0,
tabIdx: 0
}
})注意用法, 參考 https://laravel.com/docs/5.6/...
但推薦都換成復(fù)數(shù)的, 符合語義, 許多評論嘛,
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $table = 'user';
protected $primaryKey = 'id';
public $timestamps = false;
public function comments(){ // 注意這里, 用屬性
return $this->hasMany('App\Models\Comment', 'uid', 'uid');
}
}
use App\Models\User;
class TestController extends Controller{
public function test(){
$user = User::first(); // 注意這里, 取一個(gè)用戶
// 當(dāng)然, 這個(gè)用戶沒數(shù)據(jù), 試著換一個(gè)用戶, 比如
// $user = User::find(100); // 取 id 為 100 的用戶, 看他有沒有評論數(shù)據(jù),
var_dump($user->comments); // 注意這里, 用屬性
}
}一般報(bào)錯(cuò)的時(shí)候才會返回json格式的數(shù)據(jù),你檢查下storage/exports有沒有生成文件,另外你這里的$data['excel']不知道是不是xls。。
$string='麵';
$string = iconv("UTF-8","BIG5",$string);
echo urlencode($string);
//可以得到%C4%D1
大家有什么好的方式呢?
沒發(fā)展下線之前,數(shù)據(jù)庫里就有下線的pid了?
其實(shí)這個(gè)不用你自己實(shí)現(xiàn),你直接使用現(xiàn)成的就可以了,新浪和騰訊貌似都有對應(yīng)的獲取接口,只需用 js 就行。例如 新浪實(shí)時(shí)股票數(shù)據(jù)接口
thinkphp 查詢寫法
$where['g.preic'] = array('between','10,20');
$where['ge.level'] = 60;
$where['ge.money'] = 1000;
M('goods')
->alias('g')
->join('left join goods_ext ge on ge.goods_id = g.goods_id')
->where($where)
->select();
你的https是在php里實(shí)現(xiàn)的還是在nginx里實(shí)現(xiàn)的?
換個(gè)思路解決,不用多余的各種查詢開銷。在用戶表里面加兩個(gè)字段 {連續(xù)打卡天數(shù),最后打卡日期}。打卡的時(shí)候判斷最后日前是不是今天,如果是啥也不做;如果是昨天,打卡天數(shù)++,更新最后打卡日期;如果是前天或更久的日期,將打開天數(shù)改為1,更新最后打卡日期
知道原因了 需要自己手動(dòng)創(chuàng)建tmp目錄 坑
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
subscribe 字段北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。