Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.
Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin. Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

yii frameworkda bal sistemai

+4 ovoz
211 marta ko‘rilgan
so‘radi 03 iyul, 17 alfraganus (812 bal)
tahrirlandi 03 iyul, 17 Saidolim

Assalomu ALeykum,

bir proyekt ustida ishlayotgandik, u proyeyktda foydalanuvchi malumot kirgizadi, kegin admin qism boladi, va admin qismda agar admin foydalanuvchini kirgizgan malumotini togri degan (html) knonkani bossa, foydalanuvchiga bal tablitsani ichida avtamatik ravishda yozishi kerke va u databazaga borishi kerek, men buni view papkasi ichiga php kod yozib  qilishga harajat qildim lekin php umuman ishlamayapdi, uni controllerga yozish kerkemidi? iltimos yordam beringlar

izoh qoldirdi 03 iyul, 17 Sardor Dushamov (1,683 bal)
Yozgan kodingizni shu yerga post qiling, va qanday xatoliklar chiqqan bo'lsa yozing.

3 Javoblar

+1 ovoz
javob berdi 03 iyul, 17 Sardor Dushamov (1,683 bal)
tanlangan 19 iyul, 17 vejon
 
Eng yaxshi javob

Buni amalga oshirishni bir necha xil usuli mavjud.

Viewda button qo'yib , javascript orqali shu button click bo'lganda Controllerdagi actionga ajax zapros yuborasiz.

Controllerda Model bilan bog'liq barcha bazaga bog'liq ishlarni amalga oshirasiz:

SampleController.php

public function actionSample()
{
   if (Yii::$app->request->isAjax) {
      //TODO
   }
}

view.php

<button onclick="myFunction()">Click me</button>

Javascript code:

<script>
    function myFunction()
    {
        $.ajax({
            url: 'yourUrl',
            type: 'post',
            data: {
                //TODO
            },
            success: function (data) {
                console.log(data);
            }
        });
    }
</script>
izoh qoldirdi 03 iyul, 17 alfraganus (812 bal)
rahmat sizlarga akalar, hozir men sizlarga ozimning kodlarimni korsatmoqchiman, Sardir aka, yordamingiz uchun rahmat, aka faqat endi balni qandey baholsam boaldi?


quyida mening kodlarim:

    <h1><?= Html::encode($this->title) ?></h1>
    <?php // echo $this->render('_search', ['model' => $searchModel]); ?>




<form action="kotibyat.php" method="post">

    <table id="datatable" class="table table-striped table-bordered">

                <tr>
            <th>Tartib raqami:</th>
            <th>Nomi:</th>
            <th>Tasnif</th>
            <th colspan="3" style="text-align: center"> Aniqligi:</th>

        </tr>
        </thead>
<?php foreach ($dataProvider->getModels() as $model) { ?>


        <tbody>
        <tr>
            <td><?= $model->id ?></td>
            <td><?=$model->name ?></td>
            <td><?=$model->desciption ?></td>
            <th><button  type="button" class="btn btn-success" name="full"> Mutloq  bajarilgan</button></th>
            <th><button  type="button" class="btn btn-default btn-sm" style="background-color: yellow"> Qisman bajarilgan</button></th>
            <th><button  type="button" class="btn btn-danger"> bajarilmagan</button></th>
        </tr>



</form>


<?php } ?>
if

<?php

if(isset($_POST['full']))
{
    "bu yerda databazaga sql sorovnomasi orqali yuboradigon kod bor edi, va albatta hammasi view papkasi ichida"
}




?>
izoh qoldirdi 04 iyul, 17 Sardor Dushamov (1,683 bal)
Nega yii2 ni standartlaridan foydalanmayapsiz?
izoh qoldirdi 04 iyul, 17 alfraganus (812 bal)
hali yaxshi organa olganim yoq edi, shunga oddiy php bilan yozib korechi degandim aka
izoh qoldirdi 04 iyul, 17 Sardor Dushamov (1,683 bal)
yaxshisi standart bo'yicha qiling, ishingiz bundan ham oson bitadi
izoh qoldirdi 04 iyul, 17 alfraganus (812 bal)
Sardor aka, standart boyicah hamma narsani iloji bormi? yoki faqat yii2 ni kutubhonasida mavjud klasslarniginina iloji bormi? men hali yangiman frameworklarga aka, shunga jdua tajribasizlik qilyapman
izoh qoldirdi 05 iyul, 17 Sardor Dushamov (1,683 bal)
shu paytgacha yii2 biblotekalari va boshqa narsalari bo'yicha muammoga duch kelmadim. yuqorida qilayotgan ishiz ham yii2 ni o'zini tayyor klasslarini ishlatsangiz tezroq bitadi ishiz
izoh qoldirdi 05 iyul, 17 alfraganus (812 bal)
rahmat katta Sardor aka,  unda yii2 yaxshiroq o'rganishdan boshleman
0 ovoz
javob berdi 03 iyul, 17 SedBigDaddy (1,237 bal)
Savollingizga aniq javob berish uchun bizga kodni ko'rsatishingiz kerak.

Lekin hozirgi savolingizga asoslanib shuni aytib o'ta olamanki, siz noto'gri yo'l tutgansiz.

MVC pattern qoydasi bo'yicha (Yii2 bu MVC framework) V bu View yani foydalanuvchi bilan muloqotga ishlatilinadi. Buyerda hech qanday code bo'lmasligi kerak yani PHP. JavaScript code Viewda ishlatilsa bo'ladi.

C bu Controller yani bu foydanaluvchini bergan malumotlarni modelga bog'lovchi va foydalanuchini bir viewdan ikkinchi viewga yo'naltiruvchi.

Va nihoyat, M bu Model ayana shu yeda barcha code va biznes logikalar bo'lishi kerak. Agar Modelni Kattalashib ketishini Hohlamasangiz unda alohida klass yasang: masalan Bahola degan.

Demak javob: Siz viewda php code yozib hato qigansiz, uni yoki Modelga yoki Alohida classga ko'chiring o'shanda Test qilishham osonlashadi.
0 ovoz
javob berdi 18 iyul, 17 Farhodjon (1,192 bal)
Qanday kodlarni yozganingizni unchalik tushunmadimu lekin view da qandaydur matematik amallarni bajarish notog'ri deb o'ylayman

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...