Katarzyna Kajzar

PHP developer

Wypowiedzi

  • Katarzyna Kajzar
    Wpis na tablicy
    Szukam pracy w PHP teamie :-)
    • 22.04.2014, 09:23
  • Katarzyna Kajzar
    Wpis na grupie Yii w temacie CGridView i relacja m:n
    7.12.2013, 18:14

    Giix'a używam, Yii-toolbar zaraz zobaczę. Dzięki :)

  • Katarzyna Kajzar
    Wpis na grupie Yii w temacie CGridView i relacja m:n
    5.12.2013, 22:31

    Uff, TAK!!! WIelkie dzięki!

    Jeszcze był błąd w f-cji search(), ale to już ogarnęłam.

    To jak masz jeszcze pod ręką coś, co powinnam doczytać w tej sprawie, to chętnie łyknę, ale nie marnuj swojego czasu na szukanie specjalnie.

    WIELKIE DZIĘKI!!!!

  • Katarzyna Kajzar
    Wpis na grupie Yii w temacie CGridView i relacja m:n
    5.12.2013, 12:43

    Witaj!

    Dzięki za odpowiedź, pochorowałam się trochę, dopiero dzisiaj mogłam do tego usiąść. Nadal niestety "pluje" błędami:


    UserMessagesAppview and its behaviors do not have a method or closure named "getData".


    Edit:
    Przepraszam, widok był nieustawiony. Przy ustawieniu widoku mówi mi, że:
    Fatal error: Function name must be a string in 

    'dataProvider' => $model()->search(),
    Ten post został edytowany przez Autora dnia 05.12.13 o godzinie 12:56

  • Katarzyna Kajzar
    Wpis na grupie Yii w temacie CGridView i relacja m:n
    2.12.2013, 10:19

    Cześć, dzięki za odpowiedź.

    Właśnie nie działa z automatu, chyba mam źle metodę search() zdefiniowaną, albo wcale, bo odpowiedź serwera:

    CActiveDataProvider and its behaviors do not have a method or closure named "search".


    W modelu search() jest:


    public function search() {
    $criteria = new CDbCriteria;

    $criteria->compare('id', $this->id, true);
    $criteria->compare('user_messages_id', $this->user_messages_id, true);
    $criteria->compare('customerId', $this->customerId, true);
    $criteria->compare('showDate', $this->showDate, true);
    $criteria->compare('readDate', $this->readDate, true);
    $criteria->compare('messCode', $this->messCode, true);
    $criteria->compare('messType', $this->messType, true);
    $criteria->compare('messText', $this->messText, true);
    $criteria->compare('CrDate', $this->CrDate, true);
    $criteria->compare('forceRead', $this->forceRead);

    return new CActiveDataProvider($this, array(
    'criteria' => $criteria,
    ));
    }


    dataProvider dostarczany w taki sposób z kontrolera:


    $criteria = new CDbCriteria;
    $criteria->compare('customerId', Yii::app()->user->name, true);
    $criteria->order = "readDate IS NOT NULL, readDate DESC, forceRead, CrDate";
    $dataProvider = new CActiveDataProvider(
    'UserMessagesAppview', array('criteria' => $criteria)
    );


    Pewnie gdzieś czegoś nie zaskoczyłam i po prostu nie wiem, jak to ustawić.

    Z góry dzięki.

  • Katarzyna Kajzar
    Wpis na grupie Yii w temacie CGridView i relacja m:n
    29.11.2013, 10:44

    Wielkie dzięki za pomoc!

    Nie wiedziałam, że można napisać f-cję getPrimaryKey, wiele to ułatwia :)

    Miałam w bazie przygotowany już jakiś widok, skorzystałam z niego, dająć potrzebne sortowania w CDbCriteria:


    public function actionMessage() {

    $criteria = new CDbCriteria;
    $criteria->compare('customerId', Yii::app()->user->name, true);
    $criteria->order = "readDate IS NOT NULL, readDate DESC, forceRead, CrDate";
    $dataProvider = new CActiveDataProvider(
    'UserMessagesAppview', array('criteria' => $criteria)
    );
    $this->render('messagesBox', array(
    'model' => $dataProvider,
    ));
    }


    Jeśli mógłbyś mi jeszcze powiedzieć, jak dodać do grida wyszukiwanie, latałabym pod sufitem z radości :)

    Tutaj SQL z widokiem.

    A co do SQLa, to nie mój, muszę się do niego dopasować i tyle :(Ten post został edytowany przez Autora dnia 29.11.13 o godzinie 10:46

  • Katarzyna Kajzar
    Wpis na grupie Yii w temacie CGridView i relacja m:n
    27.11.2013, 10:19

    Cześć. Dziekuję za odpowiedź.

    Struktura jest tutaj.

    Kod akcji:



    public function actionMessage() {
    $rawData = UserMessagesAppview::model()->findAllByAttributes(array('customerId' => Yii::app()->user->name));

    $dataProvider = new CArrayDataProvider($rawData, array(
    'id' => 'userMessages',
    'sort' => array(
    'attributes' => array(
    'id', 'user_messages_id', 'customerId', 'showDate', 'readDate', 'messCode', 'messType', 'messText', 'CrDate', 'forceRead',
    ),
    ),
    'pagination' => array(
    'pageSize' => 10,
    ),
    ));

    $this->render('messagesBox', array(
    'model' => $dataProvider,
    ));
    }


    Widok jest standardowy.

  • Katarzyna Kajzar
    Wpis na grupie Yii w temacie CGridView i relacja m:n
    25.11.2013, 16:27

    Witajcie!

    Od dłuższego czasu pbóruję wymyslić jak napisać grida, i nie mogę...

    Mam w bazie 3 encje, które niestety nie są połączone relacjami ale relacje między nimi istnieją:

    message, user, user_message

    Potrzebuję wyświetlić w gridzie wiadomości przeznaczone dla konkretnego użytkownika,

    posortowane w ten sposób, że na górze wyświetlam wiadomości wazne i nieczytane (message.important=true i user_message.readDate=NULL)
    następnie nieważne nieczytane, a potem cała reszta sortowana datą utworzenia.

    Dane do tego grida potrzebuję ze wszystkich trzech tabel, tak naprawdę i nie potrafię tego przeskoczyć.

    Na podstawie widoku utworzonego w bazie, pobrałam właściwe wiadomości i przekazałam do Grida:

    UserMessagesAppview::model()->findByAttributes(...);

    ale w skutek tego w widoku dostaję jedną wiadomość, na dodatek w okna wyszukiwania nad gridem jest wpisana.

    Proszę o pomoc.

  • Katarzyna Kajzar
    Wpis na grupie Bazy Danych w temacie Import danych do tabeli mysql z pliku
    19.10.2013, 11:12

    35 minut odpada na hostingu, bo kilkują po kilku

  • Katarzyna Kajzar
    Wpis na grupie MySQL w temacie Automatyczna aktualizacja bazy z pliku
    2.10.2013, 23:12

    Wielkie dzięki za odpowiedż wykraczającą poza moje pytanie :) Przetestuję to sobie i przyswoję, bo pewnie jeszcze nie raz mi się ta wiedza przyda. W tej aplikacji jeszcze nie, bo nie planuję większych analiz plików, wystarczy zwykły http://pl74.plemiona.pl/map/conquer.txt żeby tylko sprawdzić w jakim rejonie ostatnio nastąpiło przesunięcie granic terytorium.

  • Katarzyna Kajzar
    Wpis na grupie MySQL w temacie Automatyczna aktualizacja bazy z pliku
    1.10.2013, 16:29

    Dzięki :)

  • Katarzyna Kajzar
    Wpis na grupie MySQL w temacie Automatyczna aktualizacja bazy z pliku
    28.09.2013, 09:28

    Witajcie!

    Mam problem, z którym zmagam się od dłuższego czasu i nie bardzo wiem, gdzie szukać rozwiązania. Nie jestem MySQLowcem niestety..

    Mam plik dostępny on-line: http://pl74.plemiona.pl/map/village.txt

    Mam bazę danych, która taki plik może zaimportować i chcę uruchomic skrypt, który ten import zrobi automatycznie.

    Jak to zrobić?

    Rozbijam się o to, że polecenie: LOAD DATA LOCAL INFILE 'D:/map74/ally.txt' INTO TABLE tempally FIELDS TERMINATED BY ',';

    Nie czyta mi danych z http.

    Pozdrawiam i z góry dzięki za wyjaśnienie mi problemu.

  • Katarzyna Kajzar
    Wpis na grupie Bazy Danych w temacie Import danych do tabeli mysql z pliku
    21.09.2013, 06:44

    Ja chciałam sprawdzić jak to jest z tą optymalizacją w praktyce, a sam kod iteracyjny skomplikowany nie jest, więc nie było to problemem. :-)

    Pozdrawiam i dobrego dnia :)

  • Katarzyna Kajzar
    Wpis na grupie Bazy Danych w temacie Import danych do tabeli mysql z pliku
    16.09.2013, 00:12

    Panowie, wielkie dzięki Wam obu!

    Rozwiązanie iteracyjne testowałam sobie jakiś czas temu w php. Napisałam i.. nie działało, chociaż napisane poprawnie było. Rekordów tam jest koło miliona, więc puściłam sobie pętelkę na lokalnej maszynie, szła 8h, "trochę" za długo.

    SQLa znam tylko podstawy i bardzo brakuje mi "insert into on key duplicate" i podobnych konstrukcji. Jeśli jesteście w stanie polecić mi jakiś zwarty kurs zaawansowanego sqla, to bradzo proszę.

    Co do różnicy między insert i update to ogarniam, naprawdę. ;)Ten post został edytowany przez Autora dnia 16.09.13 o godzinie 00:13

  • Katarzyna Kajzar
    Wpis na grupie Bazy Danych w temacie Import danych do tabeli mysql z pliku
    13.09.2013, 12:59

    Obeszłam problem w taki sposób, zapewne nieelegancko..


    CREATE TABLE temptable (
    `id` int(11) NOT NULL,
    `name` varchar(200) NOT NULL,
    `tag` varchar(200) NOT NULL,
    `members` int(11) NOT NULL,
    `villages` int(11) NOT NULL,
    `points` int(11) NOT NULL,
    `all_points` int(11) NOT NULL,
    `rank` int(11) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE = MEMORY;

    LOAD DATA LOCAL INFILE 'D:/yt/ally.txt' INTO TABLE temptable
    FIELDS TERMINATED BY ',';

    DROP TABLE ally;

    RENAME TABLE temptable TO ally;

  • Katarzyna Kajzar
    Wpis na grupie Bazy Danych w temacie Import danych do tabeli mysql z pliku
    13.09.2013, 12:22

    Witajcie!

    Usiłuję zimportować dane z pliku txt do tabeli w bazie, a następnie updatować regularnie tabelę. Dane są z gry, więc dość dynamiczne. Część rekordów będzie znikać, część się pojawiać, pozostałe będą wymagać aktualizacji.

    Wymodzić udało mi się tylko coś takiego:


    CREATE TEMPORARY TABLE temptable (
    `id` int(11) NOT NULL,
    `name` varchar(200) NOT NULL,
    `tag` varchar(200) NOT NULL,
    `members` int(11) NOT NULL,
    `villages` int(11) NOT NULL,
    `points` int(11) NOT NULL,
    `all_points` int(11) NOT NULL,
    `rank` int(11) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE = MEMORY;

    LOAD DATA LOCAL INFILE 'D:/yt/ally.txt' INTO TABLE temptable
    FIELDS TERMINATED BY ',';

    UPDATE ally JOIN temptable USING (id) SET ally.id = temptable.id;

    DROP TEMPORARY TABLE temptable;


    Oczywiście nie działa. Tabela ally jest pusta, podejrzewam, że UPDATE na pustej nie zadziała, jak jednak poradzić sobie z tym, żeby update działał zawsze, też kasując lub dodają rekordy? I co jest źle w tym zapytaniu?

    Szukałam w sieci, nie znalazłam, dlatego pytam.

  • Katarzyna Kajzar
    Wpis na grupie Savoir-vivre, czyli sztuka życia w temacie Po ślubie - kto proponuje pierwszy?
    19.05.2013, 23:09

    Ewa P.:
    dawniej nie było z tym problemu, bo mówiło się per "wy". Zróbcie, weźcie. To nadal funkcjonuje chociażby w języku francuskim czy rosyjskim i sprawdza się doskonale.
    I gwarowo też jeszcze funkcjonuje. Ja mogę tak mówić do swoich teściów lub do dziadków mojego męża. I jak do dziadków czasem tak powiem, tak do teściów wolę mamo i tato, lub tak, jak do mojej mamy: raz mamo, raz przez ty, jak wygodniej. Najważniejsze jest, żeby relacje układać ciepło, to i sposób zwracania się przestanie być problemem.

  • Katarzyna Kajzar
    Wpis na grupie Yii w temacie [Sesja] Problem
    9.05.2013, 11:24

    Jakby ktoś jeszcze zaglądał do tego tematu, to polecam jeszcze tą notatkę na temat sesji w Yii:

    http://blog.poslinski.net/yii-mechanizm-sesji/

  • Katarzyna Kajzar
    Wpis na grupie Joomla! w temacie sklep internetowy w joomla
    7.05.2013, 16:38

    jak to połączyć z porównywarkami?

  • Katarzyna Kajzar
    Wpis na grupie Yii w temacie CGridView i m:n
    8.05.2012, 23:05

    Dziękuję za odpowiedź.

    Nie, nie znalazłam wcześniej rozwiązania, Twoje zadziałało po lekkiej modyfikacji:

             public function getAuthorNames()
    {
    $authors = array();
    // $model = Book::model()->findByPk($this->id);

    foreach ($this->authors as $author)
    {
    $authors[] = $author->name . ' ' . $author->second_name;
    }
    return implode(', ', $authors);
    }


    Jeszcze tylko wyszukiwanie w widżecie, bo nie hula.

Dołącz do GoldenLine

Oferty pracy

Sprawdź aktualne oferty pracy

Aplikuj w łatwy sposób

Aplikuj jednym kliknięciem

Wyślij zaproszenie do