Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

35 Stron V   1 2 3 > » 

phpion
Napisane: 3.02.2018, 07:43:17





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Może skorzystaj z sumy kontrolnej pliku i tabeli bazy danych. Jeśli jest inna niż założona to znaczy ze dokonano zmiany ustawień.
  Forum: PHP · Podgląd postu: #1228508 · Odpowiedzi: 4 · Wyświetleń: 455

phpion
Napisane: 1.03.2017, 08:12:33





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



W zasadzie zapytanie, które zbudowałeś, wyciąga to co oczekujesz, tj. wszystkich użytkowników wraz z ich rolami. Dane zwraca w postaci:
Kod
użytkownik1 | rola1
użytkownik1 | rola2
użytkownik1 | rola3
użytkownik2 | rola1

a zapewne oczekiwałbyś np. tak:
Kod
użytkownik1 | rola1, rola2, rola3
użytkownik2 | rola1

Musisz zatem zastosować GROUP_CONCAT oczywiście w połączeniu z GROUP_BY. W Kohanie ogarniesz to w ten sposób.

I na koniec 2 rady:
1. Jawnie podawaj kolumny, które Cię interesują. Twoje zapytanie zwróci przykładowo wartość pod indeksem id. Będzie to identyfikator rekordu. Pytanie tylko z której tabeli: users czy może roles?
2. Pomyśl nad rodzajem złączenia tabel. W przypadku gdy użytkownik nie będzie miał przypisanej żadnej roli nie otrzymasz go w wyniku swojego zapytania. Może aplikacja nie dopuszcza takiej możliwości, ale sama baza już tak więc trzeba to odpowiednio obsłużyć.
  Forum: MySQL · Podgląd postu: #1211754 · Odpowiedzi: 8 · Wyświetleń: 626

phpion
Napisane: 15.01.2017, 20:49:14





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



By całość była uniwersalna i elastyczna powinieneś wartości parametrów trzymać w zwykłym polu tekstowym. Każdy parametr natomiast powinien mieć identyfikator typu danych (np. 1 to ciąg znaków, 2 to liczba). By prawidłowo zrealizować wyszukiwanie powinieneś odpowiednio rzutować dane wartości parametru (funkcja CAST) na odpowiedni typ danych i stosować operatory właściwe dla typu danych (np. dla 1 LIKE, dla 2 BETWEEN).

Inny problem to to czy produkt z zestawem parametrów ABC odniesieniu do tego samego produktu z parametrami XYZ to osobny rekord w bazie czy nie. Przykładowo: ubrania czy obuwie można robić jako 1 produkt bo atrybuty (kolor czy rozmiar) nie maja wpływu na cenę, natomiast w przypadku laptopów ten sam sprzęt ale o innych parametrach będzie miał różne ceny. Każde rozwiązanie ma swoje plusy i minusy, nie ma moim zdaniem złotego środka. Można oczywiście połączyć te 2 podejścia ale wtedy robi sie mała rzeźnia smile.gif
  Forum: MySQL · Podgląd postu: #1208472 · Odpowiedzi: 2 · Wyświetleń: 446

phpion
Napisane: 7.07.2016, 12:09:38





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Zakładam, że w B2B będziesz podwykonawcą, a Twój "pracodawca" będzie jakby wykonawcą. W przypadku zwykłych stronek tragedii pewnie nie będzie, ale ewentualne schody mogą się zacząć dziać w momencie większego projektu. Jeśli dojdzie do sytuacji, w której klient będzie w stanie udowodnić pracodawcy, że poniósł realne straty finansowe (np. zamówienia w sklepie internetowym były realizowane poprzez błędne oznaczenie realizacji płatności) to pracodawca uderzy do Ciebie jako do podwykonawcy. Może nie być wówczas dla niego istotne, że jesteś jego pracownikiem ale na inną formę zatrudnienia. Nie ma czegoś takiego. Jesteś osobną firmą świadczącą usługi, które okazały się być wadliwe.

Sam pod koniec zeszłego roku myślałem nad powrotem do B2B ale właśnie powyższy powód mnie powstrzymał, jak i inne bardziej namacalne przywileje wynikające z umowy o pracę, w tym także wysokość odprowadzanych składek (wiem, z tego może g*o wyjść za te X lat).
  Forum: Hydepark · Podgląd postu: #1195644 · Odpowiedzi: 3 · Wyświetleń: 789

phpion
Napisane: 22.06.2016, 09:48:19





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Zapoznaj się chociażby z Allegro API:
http://allegro.pl/webapi/documentation.php/show/id,1342
a zajarzysz czym jest API.
  Forum: Przedszkole · Podgląd postu: #1194640 · Odpowiedzi: 14 · Wyświetleń: 1 744

phpion
Napisane: 10.06.2016, 14:10:19





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Zakładam, że chcesz w efekcie otrzymać te obiekty, które mają wszystkie 3 udogodnienia. To co napisał kayman zwróci natomiast te, które mają którekolwiek z nich. Spróbuj zatem dołożyć do tego na końcu:
  1. ... GROUP BY Obiekty.obiekt_id HAVING COUNT(*) = 3

gdzie 3 to ilość wybranych przez Ciebie udogodnień (czyli to, co wstawiasz do IN()).
  Forum: MySQL · Podgląd postu: #1193864 · Odpowiedzi: 6 · Wyświetleń: 359

phpion
Napisane: 31.05.2016, 07:51:50





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Kolega nie pyta czy jest to prawidłowe tylko jak to zrobić.

Odpowiedź jest prosta: nadaj aliasy JOINom, tj:
  1. SELECT user.imie, miasto.nazwa AS miasto, poczta.nazwa AS poczta FROM user JOIN miasta AS miasto ON (miasto.id_miasta = user.id_miasta) JOIN miasta AS poczta ON (poczta.id_miasta = user.id_poczty);
  Forum: MySQL · Podgląd postu: #1193061 · Odpowiedzi: 4 · Wyświetleń: 408

phpion
Napisane: 18.05.2016, 10:44:19





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Widzę, że nawet ręcznie wywołanie http://noove.hekko24.pl/code/home nie działa czyli to nie kwestia routingu. Spróbuj ustawić nazwę klasy na Home oraz nazwę pliku na Home.php (o ile masz z małej litery).
  Forum: Frameworki · Podgląd postu: #1192198 · Odpowiedzi: 8 · Wyświetleń: 379

phpion
Napisane: 20.04.2016, 11:32:58





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Nie podam Ci rozwiązania typowo dla Phalcona, ale ogólne. Pobierasz rekordy posortowane w odpowiedni sposób (tak jak chcesz by widniały w drzewku), np. po nazwie:
  1. SELECT * FROM ShopCategory ORDER BY name ASC

Następnie w PHP robisz tablicę, gdzie kluczem jest ID kategorii nadrzędnej (dla NULL wstawiasz 0), a wartościami jej dzieci:
Kod
$tree = array(
    0 => array(
        array('id' => 1, 'name' => 'Procesory')
    ),
    1 => array(
        array('id' => 2, 'name' => 'AMD'),
        array('id' => 3, 'name' => 'Intel')
    ),
    3 => array(
        array('id' => 5, 'name' => 'i7')
    )
);

Teraz piszesz funkcję, która wyświetli Ci drzewko (dla danego parent_id) oraz ewentualnie rekurencyjnie elementy podrzędne, coś w stylu:
1. Jako parametr przekazujesz całe drzewo oraz aktualne parent_id (domyślnie 0).
2. Jeśli istnieje klucz $tree[$parent_id] to lecisz po jego elementach ($item).
3. Jeśli istnieje klucz $tree[$item['id']] czyli element ma swoich potomków to wykonujesz tą samą funkcję, ale z drugim parametrem $item['id'].

Tyle. Kwestia odpowiedniego ulokowania <ul> oraz <li> i masz ładne drzewko. Rozwiązanie stosowałem w wielu projektach. Drzewko trzymałem w cache, do tego miałem dodatkowe funkcje jak np. pobranie ścieżki do kategorii czy ID wszystkich potomków.
  Forum: Frameworki · Podgląd postu: #1190141 · Odpowiedzi: 2 · Wyświetleń: 539

phpion
Napisane: 22.03.2016, 11:42:49





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Przecież podany przeze mnie kod działa:
  1. $array = array(
  2. 'Nr' => '1',
  3. 'Nazwa' => 'jakiś tam string',
  4. 'Czas' => '2016-10-18 08:38:18',
  5. 'Opis' => '-'
  6. ),
  7. 'Nr' => '2',
  8. 'Nazwa' => 'jeszcze inny string',
  9. 'Czas' => '2016-10-18 08:39:12',
  10. 'Opis' => '-'
  11. ),
  12. 'Nr' => '3',
  13. 'Nazwa' => 'a tu jeszcze jeden string',
  14. 'Czas' => '2016-10-18 08:43:09',
  15. 'Opis' => '-'
  16. )
  17. ); // Twoja tablica
  18. $return = array(); // Tablica zwrotna
  19.  
  20. foreach ($array as $items) {
  21. $strlen_max = NULL; // NULL zeby nawet pusty string byl dluzszy
  22. $string = NULL;
  23.  
  24. foreach ($items as $item) {
  25. $strlen = mb_strlen($item);
  26.  
  27. if ($strlen_max === NULL || $strlen > $strlen_max) {
  28. $string = $item;
  29. $strlen_max = $strlen;
  30. }
  31. }
  32.  
  33. if ($string !== NULL) {
  34. $return[] = $string;
  35. }
  36. }
  37.  
  38. print_r($return);

W efekcie otrzymujesz:
Kod
Array
(
    [0] => 2016-10-18 08:38:18
    [1] => jeszcze inny string
    [2] => a tu jeszcze jeden string
)

Różnica w stosunku do tego co podałeś:
Cytat
2016-10-18 08:38:18
2016-10-18 08:39:12
a tu jeszcze jeden string

jest taka, że drugi element to u mnie Nazwa, a nie Czas. Wynika to z tego, że zwraca pierwszy najdłuższy ciąg znaków. Jeśli chcesz zwrócić ostatni to wystarczy zmienić:
  1. if ($strlen_max === NULL || $strlen > $strlen_max) {

na:
  1. if ($strlen_max === NULL || $strlen >= $strlen_max) {
  Forum: Przedszkole · Podgląd postu: #1188146 · Odpowiedzi: 29 · Wyświetleń: 946

phpion
Napisane: 1.03.2016, 10:23:58





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Obstawiałbym brak uprawnień do zapisu do katalogu smarty/templates_c. Zmieniasz szablon, Smarty próbują zapisać aktualną wersję szablonu do cache i następuje problem.
  Forum: Przedszkole · Podgląd postu: #1186150 · Odpowiedzi: 1 · Wyświetleń: 172

phpion
Napisane: 31.12.2015, 11:24:34





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Ścieżka do katalogu jest nieprawidłowa. Stąd masz brak zdjęć i miałeś błąd funkcji sort. Najbezpieczniej będziesz gdy podasz pełną ścieżkę bezwzględną (np. /home/...) bo lokalizacja pliku ze skryptem w stosunku do lokalizacji katalogu ze zdjęciami będzie miała znaczenie.
  Forum: Przedszkole · Podgląd postu: #1180240 · Odpowiedzi: 8 · Wyświetleń: 298

phpion
Napisane: 31.12.2015, 08:53:38





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



We wszystkich kodach masz ten sam błąd, jedynie w ostatnim go nie ma, ale piszesz, że jednak nadal się rzuca. Może zatem przy wklejaniu na forum popełniłaś błąd. Chodzi o średnik na końcu warunku:
  1. if (...); <- tutaj

On w tym momencie kończy Ci instrukcję więc else powoduje błąd. Sprawdź to:
  1. if (1 == 1); {
  2. echo 'tak';
  3. }
  4. else {
  5. echo 'nie';
  6. }

i wersję bez średnika:
  1. if (1 == 1) {
  2. echo 'tak';
  3. }
  4. else {
  5. echo 'nie';
  6. }

Pierwsza rzuci błędem, druga nie. Generalnie samo dodanie średnika na końcu if'a nie jest błędem samym w sobie, można tak zrobić, ale wówczas warunek w zasadzie nic nie będzie robił smile.gif
  1. if (1 == 1);
  2.  
  3. echo 'test';
  Forum: Przedszkole · Podgląd postu: #1180228 · Odpowiedzi: 15 · Wyświetleń: 379

phpion
Napisane: 2.12.2015, 15:11:57





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Rozważ użycie curl_multi, przykład całości w manualu dla curl_multi_exec + warto poczytać komentarze.
  Forum: PHP · Podgląd postu: #1177963 · Odpowiedzi: 9 · Wyświetleń: 303

phpion
Napisane: 16.11.2015, 22:11:15





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Ja w tym przypadku zrezygnowałbym z zapisywania tego w PHP. Narzut będzie stosunkowo duży (odpalaniem za każdym razem), a w przypadku ingerencji z poziomu bazy danych będziesz musiał ręcznie dodawać te itemy. Dlatego proponowałbym napisanie triggera. Nie znam logiki Twojej aplikacji, ale po tym co piszesz to byłby on odpalany w co najmniej 2 przypadkach:
1. Tworzenie użytkownika.
2. Przekazywanie itemu innemu użytkownikowi.
Według mnie to co opisujesz to integralność danych w bazie: każdy użytkownik musi mieć co najmniej 1 dany item. Niech więc baza sama o to dba, a nie aplikacja.
  Forum: Frameworki · Podgląd postu: #1176571 · Odpowiedzi: 6 · Wyświetleń: 600

phpion
Napisane: 6.11.2015, 14:40:03





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Wtrącę swoje 3 grosze: tak duże numery możesz w PHP rzutować na float, a nie int. Przynajmniej w przypadku PostgreSQL spotkałem się z sytuacją, gdzie użycie '123' w warunku było dość wyraźnie wolniejsze niż 123.
  Forum: PHP · Podgląd postu: #1175688 · Odpowiedzi: 4 · Wyświetleń: 328

phpion
Napisane: 16.10.2015, 09:52:37





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Mój przykład z życia. Niedawno robiłem funkcjonalność, która powinna skierować składane zamówienie do konkretnej hurtowni na podstawie jakiegoś tam kryterium. Napisałem testy (w sumie nieco ponad 20), przeszły bez problemu. Kilka dni później kryterium wyboru hurtowni zostało nieco bardziej rozbudowane. Zmieniłem więc kod, dopisałem kilka nowych testów pod nowe elementy kryterium. Po uruchomieniu testów wszystkie przeszły prawidłowo. Dzięki temu wiem, że nowe elementy kryterium działają prawidłowo, ale (co ważniejsze) stare elementy również działają prawidłowo (poprzednio napisane testy również zakończyły się powodzeniem). Owszem - początkowo "straciłem" czas na przygotowanie testów, ale odzyskałem go podczas wprowadzania zmian. Każde kolejne zmiany spowodują, że bilans czasowy wyjdzie mi na plus. Do tego nie zastanawiam się "czy aby na pewno nie popsułem starej funkcjonalności?".

Przy tym należy zaznaczyć, że testy muszą być przygotowane rzetelnie tj. na wszystkie możliwe przypadki, a nie tylko takie, jakie zakłada programista. Nie można przygotowywać testów pod kod, ot tak byle przeszły, bo wówczas mijają się one z celem.
  Forum: Przedszkole · Podgląd postu: #1173892 · Odpowiedzi: 9 · Wyświetleń: 301

phpion
Napisane: 27.07.2015, 08:33:09





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



W kwestii wybory własny vs istniejący framework zostało już chyba wszystko powiedziane więc nie będę tego powielał, a jedynie się pod tym podpiszę.

Chciałbym Ci jednak kolego Evinek zwrócić uwagę na jedną kwestię: nie kozacz za bardzo. Skoro poruszyłeś ten temat na forum to zapewne i w pracy mocno obstawiałeś przy swoim rozwiązaniu. Zapewniam Cię, że nie jest mile widziane gdy przychodzi świeżak i zaczyna wprowadzać swoje wizje krytykując przy tym inne. U nas pojawił się nowy analityk biznesowy, na dzień dobry chciał zrobić rewolucję w oprogramowaniu (analityk?...). Chciał wywalić i zmienić wszystko od środowiska programistycznego przez system kontroli wersji i bugtracker, a skończywszy na pakiecie biurowym. Popracował niespełna 2 tygodnie.

Weź przy tym pod uwagę, że w długofalowych projektach (a takim będzie zapewne ten framework) nie liczą się nowinki, a skuteczność funkcjonowania. Klienta tak naprawdę średnio obchodzi jak system wygląda od środka - chce po prostu żeby działało prawidłowo i było wykonane w terminie. Patrząc na Twój framework (który, jak sam określiłeś, nie jest zbyt rozbudowany) to pozwolę sobie wytknąć kilka miejsc, które rzucają mi się w oczy. Wiem, że nie prosisz o ocenę, ale chcę nieco ostudzić Twoje zapędy w gloryfikowaniu tego, co zrobiłeś:
- Bootstrap - jesteś w stanie zrobić szablon własnej strony błędu 404?
- Controller - w konstruktorze tworzysz obiekt widoku, a co z kontrolerem, który nie będzie produkował widoku? czy metoda loadModel faktycznie tam powinna być?
- Database - na sztywno ustawione UTF-8,
- Model - dane do połączenia na sztwyno zaszyte w kodzie, co z modelami, które nie opierają się na bazie danych?
- Validation - dodawanie nowych reguł to ingerenacja w metodę init()? metoda validAll() zwraca na sztywno komunikat błędu, metoda getError() rzuci ostrzeżeniem w przypadku braku klucza w tablicy.
Jak widzisz pomimo niewielkiej zawartości frameworka trochę się tego zebrało. Postaraj się zachować więcej wstrzemięźliwości w przepychaniu własnych pomysłów. Możliwe, że framework tego kolegi pozornie wygląda na gorszy, ale nie ma np. powyższych wpadek i po prostu lepiej sprawdza się / będzie sprawdzał się w praktyce.

Tak więc moim zdaniem: uszka troszkę po sobie, masz fajny pomysł czy konkretną uwagę - zgłaszaj, ale nie zadzieraj nosa zbyt wysoko.
  Forum: Hydepark · Podgląd postu: #1166266 · Odpowiedzi: 23 · Wyświetleń: 1 267

phpion
Napisane: 24.06.2015, 14:39:38





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



isset lub array_key_exists (w zależności jaka wartość może siedzieć pod danym indeksem, w większości przypadków wystarczy isset).
  Forum: Przedszkole · Podgląd postu: #1162936 · Odpowiedzi: 3 · Wyświetleń: 193

phpion
Napisane: 24.06.2015, 12:44:45





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Weź pod uwagę, że czasem (w moim przypadku akurat często) przyjdzie potrzeba ręcznego przejrzenia danych i wtedy lepiej od razu widzieć sformatowaną datę niż znacznik czasu. Poza tym, moim zdaniem, po to jest taki typ danych by z niego korzystać.
  Forum: Przedszkole · Podgląd postu: #1162917 · Odpowiedzi: 7 · Wyświetleń: 258

phpion
Napisane: 12.06.2015, 11:27:42





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Kólko zrobisz poprzez border-radius. Dymek to div z nadanym obramowaniem (prostokąt), a cycek to grafika wypozycjonowana absolutnie do góry i w lewo o (szerokość cycka - grubość obramowania diva).
  Forum: CSS · Podgląd postu: #1161364 · Odpowiedzi: 3 · Wyświetleń: 1 006

phpion
Napisane: 12.06.2015, 14:50:04





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Najlepiej curl + file_put_contents, a jeśli masz włączone wczytywanie zawartości z zewnętrznych adresów to file_get_contents + file_put_contents. Jeśli chcesz tylko odczytywać to korzystasz tylko z pierwszych podanych funkcji.
  Forum: Przedszkole · Podgląd postu: #1161406 · Odpowiedzi: 2 · Wyświetleń: 354

phpion
Napisane: 27.05.2015, 11:27:33





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Nadal pomijasz ostatni element. Wyświetl sobie zmienną $i w pętli i pomyśl co zrobić, by 5 też się wyświetliło. Swoją drogą: możesz zastosować foreach zamiast for i problem zniknie.
  Forum: Przedszkole · Podgląd postu: #1159631 · Odpowiedzi: 4 · Wyświetleń: 156

phpion
Napisane: 25.05.2015, 14:48:20





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



1. Na pewno $_POST['name-email']? Logiczniej byłoby $_POST['signup-name'].
2. Nie:
  1. $existingSignup = $pdo->prepare("SELECT COUNT(*) FROM newsletter WHERE newsletter_name='$name', newsletter_email_address='$email'");

tylko:
  1. $existingSignup = $pdo->prepare("SELECT COUNT(*) FROM newsletter WHERE newsletter_name='$name' AND newsletter_email_address='$email'");

Moim zdaniem w sumie powinieneś sprawdzać tutaj tylko adres e-mail, a nie parę e-mail + imię, czyli powinno być chyba samo:
  1. $existingSignup = $pdo->prepare("SELECT COUNT(*) FROM newsletter WHERE newsletter_email_address='$email'");

3. Na pewno masz w tabeli newsletter kolumnę newsletter_name?
  Forum: Przedszkole · Podgląd postu: #1159343 · Odpowiedzi: 4 · Wyświetleń: 197

phpion
Napisane: 22.05.2015, 13:56:46





Grupa: Moderatorzy
Postów: 6 062
Dołączył: 10.12.2003
Skąd: Sosnowiec, Dąbrowa Górnicza



Prostym, a zarazem ciekawym narzędziem migracji jest to:
https://github.com/kennberg/php-mysql-migrate
Wielkich trudności nie sprawia by przerobić go na:
- dostęp z poziomu przeglądarki,
- możliwość wykonania kilku zapytań z pliku na raz (za pomocą mysqli_multi_query).
Mogę z czystym sumieniem polecić, zadanie swoje spełnia bardzo fajnie.
  Forum: MySQL · Podgląd postu: #1159047 · Odpowiedzi: 2 · Wyświetleń: 232

35 Stron V   1 2 3 > » 

New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 18.10.2018 - 21:38