Navoiy innovatsiyalar universiteti


Download 265.5 Kb.
bet4/4
Sana22.11.2023
Hajmi265.5 Kb.
#1794011
1   2   3   4
Bog'liq
Tolqin13

Amal yaratamiz


Ma'lumotlarnifoydalanuvchigako'rsatishuchunsizamalyaratishingizkerak. Oldingimisolardafarqlio'laroq site nazoratchisiichidaamalyasasho'rnigato'g'riroqbuninguchunmaxsusnazoratchiyasabungahammausularniyig'ishto'g'riroqbo'ladi,Yanginazoratchini CountryController deb nomlang, vaunda index deganamalyaratinguningichidapastdako'rsatilgandekma'lumotkiriting:


namespaceapp\controllers;

useyii\web\Controller;
useyii\data\Pagination;
useapp\models\Country;

classCountryControllerextendsController
{
publicfunctionactionIndex()
{
$query = Country::find();

$pagination = newPagination([
'defaultPageSize' =>5,
'totalCount' => $query->count(),
]);

$countries = $query->orderBy('name')
->offset($pagination->offset)
->limit($pagination->limit)
->all();

return$this->render('index', [
'countries' => $countries,
'pagination' => $pagination,
]);
}
}
Yuqoridagikodniquydagichasaqlang controllers/CountryController.php.
index amali Country::find()nichaqirmoqda. Ushubu Active Record usuli country jadvalidanhammama'lumotlarniqaytaradi. kelayotganma'lumotlarbo'lishsahifalargabo'lishuchun yii\data\Pagination klassiishlatilmoqda. Pagination nusxasiikktamaqsadgakerak:

  • offset va limit SQL-buyrug`iuchunbelgilanadi, buesabirmartadafaqatbittasahifaniqaytarishgaberilgan (bittasahifadamisluchun 5 ta satr)

  • u esaviewdapaginatsiya (pagination) chiqarilishiuchunishlatilmoqda, turiesasonlardaniborat, bularnihammasinioldindatushuntirilibkelinadi.

Kodnioxiridaesa index amali index ko'rinishinichiqaribberadi, ungahammachiqarilishikerakbo'lganma'lumotlarnivapaginatsiyanniqaytarayapti.

Ko'rinishyaratamiz


Birinchibo'lib country deganpapkaochamiz views ichida. Bu papkahammanazoratchiko'rinishlarnisaqlashuchunishlatamiz. Ushbupapkada views/country faylyaratamiz index.php, so'ngquydagikodniyozamiz:

useyii\helpers\Html;
useyii\widgets\LinkPager;
?>
<h1>Countriesh1>
<ul>
foreach ($countries as $country): ?>
<li>
= Html::encode("{$country->code} ({$country->name})") ?>:
= $country->population ?>
li>
endforeach; ?>
ul>

=LinkPager::widget(['pagination' => $pagination]) ?>
Ko'rinishikktaqisimgabo'linganma'lumotchiqishiganisbatan. Ko'rinishnibirinchiqismidama'lumotlartartibsiz HTML-ro'yxatikabichiqayapti. Ikkinchisidaesa yii\widgets\LinkPager
 vidjiti, u ko'rinishgaqaytarilayotganpaginatsiyama'lumotiassosidashaklanadi. Vidjet LinkPager sahifalartugalarinichiqaribberadi. Ulardanbirortasigabosangizsahifayangilanibma'lumotlaro'zgaradi

Kelingsinabko'raylik


Yuqoridagiyozgankodniishlashiniko'rishuchuniltimosushbuyo'l (url) bo'yichao'ting:
https://hostname/index.php?r=country%2Findex

Boshidasizma'lumotlaromboridanbeshtama'lumotnichiqaribberganiniko'rishingizmumkin. Ma'lumotlarostida. Agar siz "2" tugmasigabosangiz, keyingiikkinchisahifama'lumotlariniko'rsatayotganiniko'rishingizmumkin. Etiborbilanqarasangiz, URLda ham quydagi "2" sahifachiqti.
https://hostname/index.php?r=country%2Findex&page=2
Pagination
 Ma'lumotlarnisahifalargabo'libqismanchiqarishumumiyishlashtartibiesaquydagicha:

  • Boshida Pagination birinchisahifaniko'rsatadi, uning SQL-buyrugiqismi LIMIT 5 OFFSET 0 bo'ladi. Natijada, birinchibeshtama'lumotqaytarilibko'rsatiladi.

  • Vidjet LinkPager URLdagima'lumotdaassosantugmachalarnishaklantiribberadi, Urlniesa Pagination. Bu URLda page parametrimavjudbo'ladi, tugmachalardaesaxarxil page parametrimavjud.

  • Agar "2" tugmasigabosangiz, sahifayangilanib country/index uchunyangiso'rovamalgaoshadi. Shundeyqilib SQL-so'rovi LIMIT 5 OFFSET 5 tashkilqiladiva keying beshtalikniqaytaradi.



Xulosa


Quydagibo'limdasizma'lumotlaromboribilanishlashnio'rgandingiz. Shundeyqilibsizyanama'lumotlarniqismlargabo'libchiqarishnio'rgandingizsizga yii\data\Pagination
 va yii\widgets\LinkPager yordamberdi.
Keyingibo'limdaesasizkodniyasashuchunjudakuchli Gii vositasiniishlatishnio'rganasiz, uningyordamidasizjudako'pishlatiladiganmasalalarnihalqilishingizmumkin, Shulardan Create-Read-Update-Delete (CRUD) ma'lumotlaromborijadvalibilanishlash. AslidasizhozirGiiyasaydigankodniyuqoridayozibchiqdingiz, YiidasizshularniavotmatiktarzdaGiiyordamidakodniyaratishingizmumkin.


FOYDALANILGAN ADABIYOTLAR
1. Ратшиллер Т., Геркен Т. PHP4: разработка Web-приложений. Питер, 2001. - 384 с.
2. Д.Котерев, А.Котерев. PHP5. наиболее полное руководство./Санкт Петербург «БХВ-Петербург» - 2005.- 1120 с.
3. Уилтон П. JAVASCRIPT. Основы. Символ-плюс. 2002. 1056 с.
4. Кингли-Хью Э., Кингли-Хью К. JAVASCRIPT 1.5: Учебный курс. Питер. 1-е издание. 2002.
5. Дронов В. JavaScript в Web дизайне. Питер. 2005.
6. Мазуркевич М.М., Мазуркевич И.М. PHP4. Настольная книга программиста. СПб. 2003.
7. Бранденбау. JAVASCRIPT. Сборник рецептов для профессионалов. СПб. 2001.

Download 265.5 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling