Hello,
How to update a div with the result of sql update? renderPartial is showing all results together.
Controller
public function actionfetchLinks(){
$Links=Yii::app()->db->createCommand()->select( '*')->from('rssqueue')->queryAll();
$i=0;
foreach($Links as $link){
$i++;
echo CHtml::script(" $('#rssResult').append(\"<p><span class='label label-info a$link[id]'> $i </span> $link[title] <span class=$link[id]></span></p>\")");
$linkStatus = Rss::insertLinks($link);
$this->renderPartial("//rssqueue/_ajax", array(
"title"=> $link['title'],
"lastID"=>$lastID,
"id"=>$link['id'],
"seq"=>$i,
"stat"=>$linkStatus['stat']),
false, true);
if($i == 5) exit; //stop at 5
}
}
model
public static function insertLinks($link){
if(!Article::isArticleUnique($link[title]) or 1 == 1){ //REMOVE 1==1 after testing
Rss::RemoveTags($link[Rss_id]);
Rss::UrlArticle($link[RssLink], $link[Rss_id]);
$data = array(
'cid'=> self::getRss($link[Rss_id])->Category,
'title'=>$link[title],
'body'=> self::$ArticleText,
'uid'=>uniqid(time(), true)."-".time(),
'status'=>1,
'main_image'=>self::$articleImage,
'created'=>$link[Date],
'slug'=>UrlGenerator::doSlug($link[title]),
'RssId'=>$link[Rss_id],
'SourceLink'=>$link[RssLink],
);
if(Yii::app()->db->createCommand()->insert('article', $data)){ // if insert is successful
$lastID = Yii::app()->db->lastInsertID;
$stat = true;
}else{
$lastID = '';
$stat = false;
}
template
echo CHtml::ajaxLink(
'Update',
array('fetchLinks'),
array('update' => '#rssResult',
'beforeSend' => 'function() {
$("#loading").append("Starting ...");
$("#rssqueue-grid").fadeOut("5000")
$(".search-button").fadeOut("3000")
$("#categories").fadeOut("2000")
$("#startAjax").fadeOut("500")
}',
'complete' => 'function() { $("#loading").hide();}',
//'success' => ''
), // jQuery selector
array("id"=>"startAjax", 'class'=>'btn btn-success')
);
_ajax
if($stat == true){
echo CHtml::script(" $('.a$id').delay(1000).removeClass('label-info').addClass('label-success')");
echo CHtml::script(" $('.$id').delay(2000).append(' [ID: $lastID] ')");
echo "($stat)";
}
elseif($stat == false){
echo CHtml::script(" $('.a$id').delay(1000).removeClass('label-info').addClass('label-inverse').css('color','red')");
echo "[$stat]";
}
[size="5"]Thanks in advanced[/size]