![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 30.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hi!
Szukam funkcji, która zamieniałaby wystąpienie danego ciągu w stringu na inny, ale tylko raz (pozostałe wystąpienia ignorowała). Str_replace niestety zamienia każde pojawienie się odpowiedniego ciągu. Proszę o pomoc! ![]() PS Robię mały sklepik internetowy (na zaliczenie:) i jest mi to usuwanie potrzebne do usuwania id produktów danego klienta przechowywanych w bazie. Tabela ma format (id_klienta, id_produktow), przy czym id_produktow są zapisywanie w formacie " id1 id2 id3 ". Jest to w ogóle sensowne? ![]() ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Buffalo @ 2006-04-30 12:09:38) PS Robię mały sklepik internetowy (na zaliczenie:) i jest mi to usuwanie potrzebne do usuwania id produktów danego klienta przechowywanych w bazie. Tabela ma format (id_klienta, id_produktow), przy czym id_produktow są zapisywanie w formacie " id1 id2 id3 ". Jest to w ogóle sensowne? ![]() ![]() Boże Ty widzisz a nie grzmisz. Kto tak bazy projektuje :/ Poprawnie powinienes użyć tabeli łączącej: clients id | name | surname | ... i jakieś inne pola products id | ... i jakieś inne pola clients_has_products id_client | id_product W tabeli clients_has_products oba pola sa kluczami obcymi z tabel clients i products odpowiednio. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli nie potrzebujesz tej funkcji/procedury w SQL to podpowiem Tobie, jakie funkcje php potrzebujesz - bo gotowca nie dostaniesz.
strpos" title="Zobacz w manualu php" target="_manual strlen" title="Zobacz w manualu php" target="_manual i najważniejsza substr_replace" title="Zobacz w manualu php" target="_manual W substr_replace musisz pogłówkować nad wykorzystaniem strpos" title="Zobacz w manualu php" target="_manual i strlen" title="Zobacz w manualu php" target="_manual jako parametrów. cheers Ten post edytował LBO 30.04.2006, 11:35:23 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 30.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
mike_mech : nie napisałem wszystkiego
![]() ![]() LBO : myślałem, że jest taka wbudowana funkcja. Widzę, że niestety sam będę się pobawić. Thx! |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Buffalo @ 2006-04-30 13:14:42) Twoja koncepcja to osobny wiersza dla każdej pary id_klienta i id_produktu? Po co niepotrzebnie mnożyć wiersze? ![]() Po to by mechanizmy wyszukiwania były dużo prostsze. Moje zapytanie wyszukujące produkty dla klienta zajmie duuużo mniej czasu niż Twoje. Juz nie mowiąc o tym że nie będe miał żadnych problemow z podstawymi operacjami. Ty masz problem już nawet z usuwaniem ![]() Ciekaw jestem jak podasz klientowi ile ma produktów? Wyznacznikim dobrej bazy nie jest ilość wierszy, tylko konstukcja tabel, króte ułatwiają operacje i szybkość tych operacji. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 30.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
No niby tak, ale tabelka może rozrosnąć się do dość pokaźnych rozmiarów. Ty pewne powiesz, że po zamówieniu można je usunąć lub przenieść:) A ilość produktów? count($produkty)
![]() Ale ok, chyba zmienię konstrukcję tabeli ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat No niby tak, ale tabelka może rozrosnąć się do dość pokaźnych rozmiarów. Jeżeli ma się rozrosnąć to to zrobi - właśnie wtedy najważniejsza jest konstrukcja bazy danych. By wielkośc tabel nie wpływała znacznie na wykonywanie zapytań.Cytat Ty pewne powiesz, że po zamówieniu można je usunąć lub przenieść Dokładnie, po to @mike_mech podał taką konstrukcję, by ułatwić to.Cytat A ilość produktów? count($produkty) Nie do końca... po to są bazy danych, żeby na nie zrzucić część zadań, a nie paprać się z tym w php.
P.S. Cytat Ale ok, chyba zmienię konstrukcję tabeli Zmieniaj, zmieniaj - nie wyjdziesz na tym źle. Ten post edytował LBO 30.04.2006, 13:07:50 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 19.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
No i w tym momencie powiem że ten temat bardzo mi się przydał
![]() Nie praktycznie ale merytorycznie. Dzięki. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 16:30 |