Paweł Ługowski

Software Developer

Wypowiedzi

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie REGEXP przy przenoszeiu danych.
    5.12.2008, 12:45

    I jak zwykle zgłoszę się do was z problemem, bo z doświadczenia wiem, że tu najszybciej uzyskam odpowiedź :D

    Problem:
    http://forum.php.pl/Przerzucanie_bazy_danych_t108666.html

    Dzięki za odpowiedź :D

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    30.10.2008, 19:27

    Dzięki wszystkim za "cenne uwagi". Problemem było ostatnie DELIMITER ;, po usunięciu tej linijki wsio śmiga jak powinno... Jak człowiek sam sobie nie poradzi to inni też mu nie pomogą...

    Swoją droga, poprawiłem błędy, jest na sesjach i te pierdoły...

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    29.10.2008, 22:22

    O w morde, duzo tego tydzień googlowania jak dla zwykłego bankiera hobbyste :D

    - Autoincrement na Primary Key
    To powiedzmy - stosuję
    - Typy indexów
    Gdzie i jak to stosować?
    - Char(x) z opcja binary
    Hem, jak wyżej?
    - LAST_INSERT_ID()
    Brzmi fajnie i mam nadzieję że ziała tak jak sobie tłumaczę, że działa, to usunie mój problem z wysyłaniem w getcie pewnych info, o sesjach czytałem i wiem jak ich stosować, ale mówię, użytek własny nie wymaga pewnych restrykcyjnych zabezpieczeń (chociaż warto na to zwrócić uwagę)
    - SELECT SQL_CALC_FOUND_ROWS...LIMIT X & SELECT FOUND_ROWS()
    A człowiek kiedyś myślał, że samo SELECT INSERT UPDATE wystarcza, żeby bawić się MySQLem
    - Full-text
    Nie kumam w jakim sensie full-text
    - Transakcje z poziomami izolacji
    - Foreign keys i storage engine InnoDB
    Matko masa enigmatycznych stwierdzeń (jak na razie dla mnie)
    - Left join, join, outer join, inner join... cross join. ;] którego nie ma w mySQL.

    Ech coś się kiedyś czytalo na ten temat, a że outer join jakoś zapadł mi w pamięci to z tego zawsze korzystałem bezwiednie (robiło co miało więc po co drążyć głębiej, ale po co są fora :P)Paweł Ługowski edytował(a) ten post dnia 29.10.08 o godzinie 22:30

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    29.10.2008, 17:07

    No dobra, wybaczcie, nie jestem adminem baz danych, ani webmasterem freelancerem. Robię swoje małe programiki do uzytku własnego i najważniejsze dla mnie jest robienie ich jak najlepiej potrafię ucząc się przy tym cały czas, więc jakby ktos z łaski swojej pomógł mi w moim konkretnym problemie, bez zbednych komentarzy bedę wdzięczny!

    Dziękuję :D

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    29.10.2008, 09:07

    Rafał Wardas:

    Pierwsza rzecz o którą nie dbasz to SQL Injection ;] pogrzebać w twojej bazie by dostać dane od np. innych użytkowników to banał na w.w. przykładzie ;)

    W bazie nie ma żadnych danych userów jedynie dane wysyłek, które de facto nie są mocno istotne dla osób trzecich, bo adresat i nadawca sa jedynie nazwami tych osob...
    Po drugie, zawile opisujesz swój problem i po paru zdaniach odpuściłem, ale że jest to przypadek w którym wypełniasz formularz z danymi użytkownika a nastęnie dla w.w. użytkownika dodajesz rekordy z wysyłką to nie za bardzo mi się to podoba ;)

    Było rano, zmęczony byłem i jak widzę faktycznie nie skumałeś o co mi chodzi :P
    Parę uwag:

    - INSERT `idlist` ( `id_id` ) VALUES ( '".$_GET['ch']."' );

    Za to nie jedna osoba by cię zwolniła ;] takie rzeczy się w sesji trzyma.

    Nie kumasz jednak nadal :D Z resztą wyżej napisałem po co taki myk.
    - Co chcesz osiągnąć stosując złączenie zewnętrzne?

    A co za różnica outer join czy join, też działą.
    - Jak chcesz się pod PHP odwołać do Stored procedure w mySQL to ci się to zwyczajnie nie uda :) ponieważ API mysql_XXX ( php4 głównie ) nie jest do tego przystosowane, klasa pod OO php5 mysqli co innego ;) ale i tak trzeba użyć paru sztuczek by tego dokonać i skorzystać z metody, która potrafi przetworzyć wiele result set'ów na wyjściu.

    Korzystam z mysql 5 soś tam, tylko na localhoscie mam 4, ale to co innego...
    - Słyszałeś o LAST_INSERT_ID() / PRIMARY KEY z własnością AUTOINCREMENT? Jak widzę INSERT INTO foo(id) VALUES( $_GET[ ] ) to mam wątpliwości :)

    Fakt, nie słyszałem, możesz rozwinąć temat?
    Kamil: Różnic jest sporo ~5.0.6 czy jakoś tak dopiero ma sens :) obecnie pracuję 5.0.26 ;) wspiera SP i EVENTS

    Bartosz:
    Czy nie zapomniałeś o handlerach dla błędu ? ;]
    np:
    ...
    DECLARE CONTINUE HANDLER FOR NOT FOUND
    BEGIN
    SET p_sqlcode=1329;
    SET p_status_message='No record found';
    END;

    ^ Też możesz rozwinąć temat
    BTW: MySQL ma dość ciekawą rzecz :

    INSERT INTO foo(id, param ) VALUES ( @a, @b )
    ON DUPLICATE KEY UPDATE param=VALUES(param);
    Paweł Ługowski edytował(a) ten post dnia 29.10.08 o godzinie 09:27

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    28.10.2008, 21:23

    No dobra, ale na serwerku procedury śmigały i tam testowałem to chwile działało, a teraz? Hem...

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    28.10.2008, 21:02

    localhost: Wersja serwera: 4.0.26
    serwerek: Wersja serwera: 5.0.60-log

    Zapytania typu INSERT SELECT i wsio normalne wchodzi
    wysłanie zapytania CALL check_list wywala mi error, że nie ma takiej procedury (ale to wiem, bo nie moge jej w końcu dodać) niemniej jednak tez przechodzi to dość szybko i mam odpowiedź o braku procedury w 0.01s...

    Jakieś sugestie?

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    28.10.2008, 20:34

    No na localhoscie to mam i na zewnętrznym serwerze do którego niestety nie mam dostępu,a przeciez nie chodzi o to, żeby wydużać time execution, prawda - jak mówie wcześniej chodziło bezproblemowo i zapytanie wykonywało się w około 1s :/

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    28.10.2008, 19:43

    Z angola idzie mi całkiem nieźle i wiem co oznacza to stwierdzenie, ale liczyłem na podpowiedzi czemu to wywala się.

    Moja procedura: http://forum.php.pl/Problem_z_dodaniem_procedury_t1058...

    Pytanie teraz. Dlaczego wywala mi owy błąd nawet przy próbie dodania procedury

    CREATE PROCEDURE foo(IN id INT)
    BEGIN
    DECLARE d INT;
    SELECT * FROM listy WHERE id = id INTO d;
    END

    od razu pisze ze ten przyklad napisalem z palca i moze zawierac male bledy, ale nie o to chodzi...

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    28.10.2008, 19:09

    Kurde nie wiem co się stało, czy to wina przeglądarki, czy połaczenia. W pracy na IE6 bez problemu dodałem Procedurke do mysqla, a teraz na FF i IE7 wywala mi w phpmyadmin:

    Fatal error: Maximum execution time of 300 seconds exceeded in /var/www/localhost/htdocs/phpmyadmin/libraries/import/sql.php on line 105

    O co tu chodzi?

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    28.10.2008, 12:38

    Czyli procedure moge utworzyć jedynie w konsoli phpmyadmin i nie moge wysłac jej do db poprzez mysql_query, a function tak?

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    28.10.2008, 11:13

    Dzięki stary,

    Twój manual jest o wiele łatwiejszy do zakumania niż ten co mi podesłałeś. Tam duzo pisania a przykłady jakieś dziwne. A to póki co zaczytuje się do MySQLa. Mam tylko pytanie. Rozumiem, że procedury zaczytują się do Bazy danych. Mam jakąś możliwość podglądania jakie procedury są już zaczytane? (żeby np, za jakiś czas je pokasować?

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    27.10.2008, 17:47

    Bartosz, a mógłbyś trochę pomóc, przyznam, że pierwszy raz słysze o tych procedurach, byłbyś na tyle dobrodusznym człowiekiem co pomoże sklecić odpowiednie zapytanie?

    rozumiem, że CREATE PROCEDURE jest odpowiednikiem function w php i ma za zadanie utworzenie jakiejś "procedury", która po kolei wykonuje określone zadania.

    Tylko jak to wykorzystać w praktyce przy w moim problemie?

    Tak jak pisałem założenia są jasne tylko po kolei je wykonywać trzeba...

    A i to wysyła się normalnie poleceniem mysql_query? Czy jakoś inaczej trzeba zapodać do db? Bo nie mam dostępu do shella serwera :/Paweł Ługowski edytował(a) ten post dnia 27.10.08 o godzinie 18:17

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem... IF [...] THEN [...] ELSE [...] END
    27.10.2008, 14:56

    Problem opisałem tu: http://forum.php.pl/IF_EXISTS__THEN__ELSE__END_Ewentua...

    Ale niestety nikt na razie nie był w stanie mi odpowiedzieć, albo po prostu mało osób tym się interesuje.

    Na samym końcu wyjaśniłem o co dokładnie mi chodzi, wiem, że można to łatwo zrobić kilkoma zapytaniami mysql_query, ale nie o to mi chodzi.

    Pozdrawiam, i dzięki za pomoc :D

  • Paweł Ługowski
    Wpis na grupie Gdynia - moje miasto w temacie Spotkanie klasowe.
    1.09.2008, 19:22

    Buehehehe... Rodzinny wątek się zrobił!

    A coś innego?

  • Paweł Ługowski
    Wpis na grupie Gdynia - moje miasto w temacie Spotkanie klasowe.
    29.08.2008, 16:03

    Witam, jestem w trakcie organizowania spotkania klasowego podstawówki i mam problem z jakąś miejscówą. Co polecacie, żeby dobrze sie bawić, potańczyć, popić i pogadać. Klasa liczyła ok 30 osób, ale liczę, że niektórzy poprzychodzą z osobami towarzyszącymi, czyli potrzebowałbym lokal na ok 50-60 osób.

    Także jeszcze raz, jaki klub, jak mniej więcej ma się rezerwacja + cena za to.

    Na terenie Gdyni lub Sopotu najlepiej :D

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem i szukam pomocy...
    29.08.2008, 14:53

    Grzegorz G.:
    select z.nazwa_sałatki
    from sałatki z
    left outer join lodówka l on z.składnik = l.składnik
    group by z.nazwa_sałatki
    having sum(case when l.składnik is null then 1 else 0 end) = 0
    select z.nazwa_sałatki
    from sałatki z
    cross join lodówka l
    where ',' || z.przepis || ',' like '%,' || l.składnik || ',%'
    group by z.nazwa_sałatki
    having count(*) = max(length(replace(z.przepis, ',', ''))) + 1

    Cholera przerobiłem już wszystkie tabele tak, aby były nabardziej znormalizowane ale jakoś Twoje przykłądy nie chcą działać. Mógłbyś napisać je tak, żeby współgrały z nazwami tabel jakie używam?

    czyli.

    Mam 3 tabelki:

    #1 salatki [s_id | s_name]
    #2 components [c_id | c_name]
    #3 xref [id_sal | id_comp]

    I dane oczywiście wywalone w tablicy, ale tak jak Bartosz pisał są zimplodowane > implode(",",$_POST['co_mam']) do postaci po przecinkach... A i w tej tablicy wysyłam tylko id poszczególnych składników, mniejsza ilość danych do wysłania :D

    Kurcze tak to jest jak cały czas używało się tylko najprostszych zapytań do mysqla, a potem trzeba nadrabiać zaległości :DPaweł Ługowski edytował(a) ten post dnia 29.08.08 o godzinie 15:27

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem i szukam pomocy...
    26.08.2008, 22:10

    Na tym polegaja relacyjne bazy danych, tak z grubsza :P

    No racja <debil>

    Ok, póki co informacje tu udzielone wystarczają mi... Jakby co to zapukam ponownie o pomoc. Wielgachne dzięki towarzysze!

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem i szukam pomocy...
    26.08.2008, 21:32

    ok, a teraz co gdyby (o czyms mi sie przypomnialo) do skladnikow dodac jeszcze jego typ... jakby to opisac... O typ np.

    id | skladnik | typ
    1 | wołowina | mieso
    2 | marchew | warzywo
    3 | jablko | owoc

    stworzyc podobna baze do xref?

    O i jeszcze wazna rzecz. Ilosc skladnika. Czy w xrefie moge utworzyć sobie kolejną kolumne nazwać ilosc i tam wpisywać np. 1kg, 2 lyżki itp? Czy to już jest sprzeczne z normalizacją?

    A jak teraz sprawdzić dane przy wprowadzaniu. O tyle, o ile przy wczesniejszej tabeli sprawdzalem, czy salatka o nazwie juz jest i czy posiada skladniki to tutaj musze pewnie skakac od tabelki do tabelki i najpierw sprawdzić czy salatka jest, potem, jakie ma id, zobaczyc w xrefie jakie skladniki sa do niej przypisane i na koniec wywalic te skladniki, tak? Jak wychwycić duble wpisów?

    btw. jak zdefiniować PK w Xref?Paweł Ługowski edytował(a) ten post dnia 26.08.08 o godzinie 21:35

  • Paweł Ługowski
    Wpis na grupie Bazy Danych w temacie Mam problem i szukam pomocy...
    26.08.2008, 21:09

    Ok, podążając Twoim przykłądem i przykładami normalizacji rozumiem, że tabele powinny wyglądać mniej więcej tak:

    skladnik:
    id | skladnik
    1 | cebula
    2 | kukurydza
    3 | mieta
    4 | chmiel

    salatki:
    id | nazwa
    1 | cebul_kuk (cebula, kukurydza)
    2 | ceb_chmiel (cebula, chmiel)
    itd...

    Xref:
    salatka | skladnik
    1 | 1
    1 | 2
    2 | 1
    2 | 4
    itd.

    Dobrze rozumiem?

Dołącz do GoldenLine

Oferty pracy

Sprawdź aktualne oferty pracy

Aplikuj w łatwy sposób

Aplikuj jednym kliknięciem

Wyślij zaproszenie do