Ben CAutoComplete kullanarak açılan listesini yapmak gerekir. Her şey ayarlanmış ve ince çalışır, burada eylem benim kodu:
<?php
public function actionSuggestCharacter() {
if(Yii::app()->request->isAjaxRequest && isset($_GET['q'])) {
$name = $_GET['q'];
$criteria = new CDbCriteria;
$criteria->condition='`Character` LIKE :keyword';
$criteria->params=array(':keyword'=>"$name%");
$criteria->limit = 5;
$suggestions = zCharacter::model()->findAll($criteria);
$returnVal = '';
foreach($suggestions as $suggestion) {
$returnVal .= $suggestion->Character."\n";
}
if (isset($suggestion)) {
echo $returnVal;
}
$criteria->condition='`Character` LIKE :keyword';
$criteria->params=array(':keyword'=>"%$name%");
$criteria->limit = 5;
$suggestions = zCharacter::model()->findAll($criteria);
$returnVal = '';
foreach($suggestions as $suggestion) {
$returnVal .= $suggestion->Character."\n";
}
if (isset($suggestion)) {
echo $returnVal;
}
}
}
?>
Bu kod o başında anahtar kelime ile ilk 5 maç ve önümüzdeki 5 maçı herhangi bir yerde anahtar kelime ile vardır göstermesidir.
Örnek. Kullanıcının (gerçekten herhangi bir metin olabilir, farketmez), yani otomatik tamamlama tarafından döndürülen sonuç gibi görünecek girdi alanı "PDD" kullanıcı türleri diyelim:
1. pddtext...
2. pddtext...
3. pdd_some_other_text
4. pdd_text
5. pdd_text
1. text_text_pdd
2. text_pdd_text
3. etc...
Sorun (kenarlıklı <hr>
veya <div>
) hattının bazı tür tarafından bu iki blok ayırmak gerekir olduğunu. Bunu nasıl yapabilirim?
Teşekkür ederim.