谁一开始就是大神?

PHP 第19页

PHP

求解:Pjax整个页面刷新[2.0]

Aibybubble阅读(89)

index视图:
引用了jquery.pjax.js插件
当单击某链接触发:

   $.pjax({
         url: "index.php?r="aaa/b",   // aaa控制器的b方法
         container: '.rongqi',        // .rongqi(内容替换的容器)
      })

aaa控制器的b方法:

  public function actionB(){
    $model=CCC:find()->all();     // CCC模型 查询表数据
    $this->renderPartial('ddd',['model'=>$model]);  // ddd视图 ['model'=>$model]传值
  }

问题:
当 aaa控制器的b方法 不查询表数据,可以局部刷新且改变地址
当查询表数据时,能接受到表数据,但即使不传值也会整个页面刷新跳转,相当于没有了index视图,只有ddd视图
名子是随便取的,请不要在意。本人菜鸟,请回答简单详细点,谢谢

注意pjax 的timeout时间,如果action查询数据时间长了,会整个页面刷新
没用过。。。。。。。。。。
第一次听说pjax……

上传图片mkdir问题[1.1]

Fionasuper阅读(84)

mkdir(): Permission denied这个问题怎么解决

权限给0777
mkdir(dirname, 0777, true);
最简单的方式 服务端建一个 777权限的公共文件夹。然后可以,在里面动态创建。mkdir 才有用武之地。
用yii自带的文件类去创建
CFileHelper
权限的问题吧

表单验证[2.0]

Jacklove阅读(99)

rules如何添加一个非数据库字段的验证?

class CarPriceSearch
{
自定义验证可以加不是本字段的,还有就是可以在C层验证
so easy
总的来说就是在model类中添加一个公共属性
rules()里的验证就正常写就行了,就像正常数据库字段一样

对象和数组为什么都可以使用[2.0]

Candylovely阅读(101)

$infoModel = InfoModel::findOne(1);
上面就是查找id为1的数据,我打印过$infoModel,他是个对象
可是 输出以下2句都可以成功打印正确数据:

echo $infoModel -> name; //这个可以理解   他是对象可以->
echo $infoModel['name']; //这个不理解  他不是数组啊

以下是打印的$infoModel:

app\models\InfoModel Object
(
    [_attributes:yii\db\BaseActiveRecord:private] => Array
        (
            [id] => 1
            [name] => 我问问2
            [age] => 32
        )

    [_oldAttributes:yii\db\BaseActiveRecord:private] => Array
        (
            [id] => 1
            [name] => 我问问2
            [age] => 32
        )

    [_related:yii\db\BaseActiveRecord:private] => Array
        (
        )

    [_errors:yii\base\Model:private] => 
    [_validators:yii\base\Model:private] => 
    [_scenario:yii\base\Model:private] => default
    [_events:yii\base\Component:private] => Array
        (
        )

    [_behaviors:yii\base\Component:private] => Array
        (
        )

)

还有顺便问下<?php echo $form -> field($infoModel,’name’)->textInput(array(‘value’ => $infoModel[‘name’])); ?>
这里的field的第一个参数$infoModel是不是一定是模型对象,我试着在控制器把$infoModel转成数组就报错了???

因为 AR 是 yii\base\model 的后代,而 yii\base\Model 实现了 PHP 预定义的接口 ArrayAccess, 正是这个接口让我们能够像使用关系数组一样访问对象中的属性。
用ArrayHelper::getValue($infoModel,’name’),也是可以打印的
这个你就需要研究研究findOne(),然后研究研究one(),然后如下
WechatIMG3.jpeg

kartik-v/yii2-widget-fileinput不能上传多文件(我想要多图片效果)[2.0]

Anihope阅读(87)

  • 我现在的效果只能上传单张图片,如下图所示:
  • 想要的.png
  • 下面这张是我想要的效果:
  • 现在的.png
  • 页面代码:
  • upload.png
    找了半天看不出哪里没有弄好,请教各位了,多谢

跟你需求不太一样,可以稍微改下
这个在我项目里面是OK的,你可以试一下,如果还是不行的话,建议更新一下kartik\file\FileInput;
亲测,你这些配置都没问题,问题可能在别的地方
用axaj上传
我这边有我写的例子,需要的话,可以贴出来看下.我这边是好的,放在我项目里面
在编辑页面能默认显示出图片吗?
<?=
$form->field($model, ‘goods_thumb[]’)->widget(FileInput::classname(), [

请教:ActiveRecored字段是动态的,该如何访问[2.0]

acgFox阅读(103)

我用 ActiveRecored的find() 找到某条记录,比如叫 record,修改记录中的某个字段的值。比如column1。可以 record->column1=xxx

如果这个字段的名字,是动态改变的,该怎么办?比如column2,column5,如何访问 “拼接出来的字段名”?

谢谢指点!

这样好像yii2的model是不允许的
首先确保 表 中存在这个字段。
试试

原生SQL语句转换成Yii2查询[2.0]

CleverLion阅读(96)

原生写法:

$page = isset($_GET['page']) ? $_GET['page'] : 1;
$pageSize = isset($_GET['pagesize']) ? $_GET['pagesize'] : 6;
if(!is_numeric($page) || !is_numeric($pageSize)) {
	return Response::show(401, '数据不合法');
}

$offset = ($page - 1) * $pageSize;
$result="select * from article where status = 1 order by orderby desc limit ". $offset ." , ".$pageSize;

Yii2 如何做个查询呢?

你如果安全过滤的话 就应该在 get 就转 int if(!is_numeric($page) || !is_numeric($pageSize)) 这俩参数就会变成正常 0 或者无就是默认值就是了
model::find() 返回的是数据库链接对象 链式返回的都是

手机注册用户与微信等第三方注册登录用户合并[2.0]

Markdear阅读(100)

RT,手机注册了一个用户,后又用微信等第三方注册登录产生了另一个用户,这两个用户有合并的可能吗?

这种合并的工作最容易出错,一不小心就会出现脏数据。我的做法是参照 EER 图编写迁移代码,这样不容易遗漏。
Jietu20170622-195800.png
我想你的初衷是在注册阶段让用户有多重选择,以便更快捷地完成注册。手机号的等级比微信高,使用第三方注册绝大部分是因为不愿意暴露自己的手机号。如果一个用户愿意使用自己的手机号注册,那他基本不会用第三方登录手段了。此外,你可以参考简书的注册体验,这个网站同时支持手机号和第三方两种注册方式,和你的需求很像。我刚才试了一下,使用手机号注册后,在账号设置页面没有绑定微信什么的,但是用微信注册后的账号,在设置页面有绑定手机号的功能。如果你绑定的手机号之前曾注册过账号,简书直接禁止绑定,也就是说,它没有合并账号的功能。
我不确定正确理解了你的意思,“手机注册了一个用户”是指通过手机号注册吗?假如同一个用户通过不同注册方式在 user 表内写入两条记录,你做一个类似“绑定账号”的功能。例如,通过微信登录的方式登录的用户,让用户输入手机号,通过手机号检查 user 表是否存在记录,若存在,提醒用户合并账号。
验证手机 账号绑定,认证微信账号绑定,论坛的有的QQ登录但是需要绑定账号的晓得不
答案如上。

mysql怎样设置多个between查询

ecysea阅读(93)

我写成这样
and created_at between 1496764800 and 1496851200
and created_at between 1497196800 and 1497283200

什么都查不出,单独只用一个between就能有结果,两个一起就没有

created_at between 1496764800 and 1496851200 or created_at between 1497196800 and 1497283200
条件错了,一个时间可能在两个范围之间吗?看看能不能在两个between之间用or

setFlash和redirect跳转问题[2.0]

EllieFox阅读(100)

在项目中写了 Yii::$app->session->setFlash(‘error’, $model->lastError);,有错误就抛出了,但是这个时候蛋疼的事情来了,我的页面是ajax加载一部分的,报错的时候这部分就没了,求解决办法!!!另外使用redirect传递参数$this->redirect([‘index’,’success’=>2]);我根据这个参数去做弹出成功提示,但是每次刷新都会弹出,蛋疼

ajax 加载 返回json级别的错误信息,唯一的办法 因为你页面没有刷新所以拿不到 页面打开之后的session
第二个问题就是条件判断问题,自己去看吧,就是 if else这种。
简单来说 if a == 1 做弹窗1
页面加了这个吗????????????
这部分是指的ajax加载的页面?你是想要解决报错问题,还是加载Ajax问题?

登录

找回密码

注册