0
jQueryで配列を返すときに問題があります。私はmysqlからの応答データに関数を使用し、配列を追加して表示に戻す必要があります。スライドショーのようなもので、5秒ごとに別のレビューを表示します。OpenCartが配列をJSONに戻してjQueryに渡す
これは私のコードです: コントローラ:
$this->load->model('catalog/review');
$current_store = $this->config->get('config_store_id');
$feedbacks = $this->model_catalog_review->getFeedbacksByStore($current_store);
$this->data['feedbackscrazys'][] = array(
'feedback_name' => $feedbacks['form_name'],
'feedback_text' => $feedbacks['feedback'],
);
モデル:
public function getFeedbacksByStore($id) {
$sql = "SELECT * FROM " . DB_PREFIX . "feedbackcrazy";
$sql .= " WHERE shop_id = ".$id." AND show_index=1";
$sql .= " ORDER BY RAND() LIMIT 10";
$query = $this->db->query($sql);
if($query->num_rows > 0) {
return $query->row;
} else {
return 0;
}
}
とビュー:
var feedbacks = function() {
// here i want to replace this code with the results of array
var jsontext ='[{"feedback_author":"Vesela Chobanova","feedback_text" : "Thanks for the quick delivery and the beautiful clothes! :):)"},{"feedback_author": "Dimitar Nedelchev","feedback_text" : "You are great! You are one of the few to give sincere and unexpected rewards! Thank you very much!"},{"feedback_author": "Bojidara Karajorova","feedback_text" : "Thank you for your service responsiveness :)"},{"feedback_author": "Maria Rizova","feedback_text" : "Thank you very much for the Childrens Gold Contrast Gown. She is very beautiful !! thank you very much ."},{"feedback_author": "Violeta Stefanova","feedback_text" : "Hello, I ordered several times from Crazy kids. I am very pleased with both the quality of clothes and the service. When I need advice, I always get full co-operation. Thanks!"},{"feedback_author": "Maria Hristova","feedback_text" : "Excellent quality! Very good attitude and full cooperation. thanks "},{"feedback_author": "Stefka Mihova","feedback_text" : "Thanks to the quick delivery and the amazing Polish hats. I expect a further load from them"},{"feedback_author": "Daniela Kosova","feedback_text" : "The delivery was super fast. Thanks. We are very pleased with the clothes we received"},{"feedback_author": "Silvia Purvanova","feedback_text" : "The dress I received was amazing. Thanks for the quick delivery and the wonderful attitude on the phone"}]';
var json = JSON.parse(jsontext);
var i = 0;
var fnchange = function() {
$('#footerfeedbackItemContent').animate({'opacity': 0}, 2000, function() {
$(this).text(json[i]['feedback_text']);
}).animate({'opacity': 1}, 2500);
$('#footerfeedbackItemCustomer').animate({'opacity': 0}, 2000, function() {
$(this).text(json[i]['feedback_author']);
}).animate({'opacity': 1}, 2500);
if(++i < json.length){
setTimeout(fnchange, 10000);
} else {
i = 0;
setTimeout(fnchange, 10000);
}
};
setTimeout(fnchange, 1);
};
setTimeout(feedbacks,1);
はい、これは正しい方法ですが、私のバージョンは1.5.6.4です.... –
場合があるかもしれませんこのクエリのキャッシュを停止する方法です...または何か他の方法で行う... –