yii Datenverarbeitungshilfe
WWK
WWK 2019-07-15 18:48:35
0
0
1039

Es gibt zwei Felder in der Datenbank-VOD-Tabelle:



vod_play:

qq$$$iqiyi$$$sohu$$$youku$$$mgtv



vod_url:


1$http://v.qq.com/x/cover/llws99784lrtpz7/g003189nkf3.html
2$http://v.qq.com/x/cover/llws99784lrtpz7/f0031cijuxc.html
$$$http://www.iqiyi.com/v_19rse7ldt0.html
2$http://www.iqiyi.com/v_19rse7mbz0.html
$$$http://tv.sohu.com/v/MjAxOTA2MjUvbjYwMDczMDI0MS5zaHRtbA==.html
2$http://tv.sohu.com/v/MjAxOTA2MjUvbjYwMDczMDI0My5zaHRtbA==.html
$$$http://v.youku.com/v_show/id_XNDI0Mjg3NDcyOA==.html
2$http://v.youku.com/v_show/id_XNDI0Mjg3NDczMg==.html
$$$http://www.mgtv.com/b/330256/5878154.html
2$http://www.mgtv.com/b/330256/5878408.html


Ich möchte sie in Gruppen im anzeigen Form, qq entspricht Die Wiedergabeadresse von qq und iqiyi entsprechen der Wiedergabeadresse von iqiyi. . . :

QQ截图20190715183259.png


Die derzeit implementierten Methoden sind wie folgt:


1. Erstellen Sie eine neue Methode in der Modellklasse, um die Zeichenfolge aufzuteilen und wieder in ein Array zusammenzusetzen;


public function getPlaylist(){
$datas['vod_play'] =  explode('$$$', $this->vod_play);
$datas['url'] = explode('$$$', $this->vod_url);
$playlist=[];
if (is_array($datas)) {
    foreach ($datas as $key => $value) {
        foreach ($value as $k => $v) {
            $playlist[$k][$key] = $datas[$key][$k];
        }
    }
    return $playlist;
}
}


2. Übergeben Sie im Controller das Array an die Ansicht:



public function actionUpdate($id)
{
$model = $this->findModel($id);
$playlists= $model->getPlaylist();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
    return $this->redirect(['view', 'id' => $model->vod_id]);
}
return $this->render('update', [
    'model' => $model,
    'playlists'=>$playlists,
]);
}


Drei, schleifen Sie das Array in der Ansicht:



<?php foreach ($playlists as $playlist):?>
<div class="form-group field-player">
<label class="control-label" for="player">播放器</label>
<input type="text" id="player" class="form-control" name="player[]" value='<?php echo $playlist['vod_play'];?>' maxlength="30" aria-invalid="false">
<div class="help-block"></div>
</div>
<div class="form-group field-url">
<label class="control-label" for="url">播放地址</label>
<textarea id="ffvod-vod_content" class="form-control" name="url[]" rows="12" aria-invalid="false"><?php echo $playlist['url']?></textarea>
<div class="help-block"></div>
</div>
<?php endforeach;?>


like Dies kann nicht mit ActiveForm verarbeitet werden. Ich habe auch eine Reihe gemischter HTML- und PHP-Codes geschrieben.


Kann ich ActiveForm in der Ansicht implementieren?


Vielen Dank!


WWK
WWK

Antworte allen(0)
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage