![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 3 Dołączył: 11.09.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Witam nie mogę sobie poradzić z funkcją DELETE. Update działa tak jak powinien wszystko ok, a
DELETE FROM nie odpowiada w ogolę, nie usuwa pożądanego rekordu jak to naprawić? rekordy w bazie zapisują się w taki sposób: " 10.11.12.13 "
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Moim zdaniem źle zrobiłeś używając do oznaczeń liczb. W ten sposób zamiast jakoś sensownie działać na samej bazie operując jedynie w prosty sposób na stringu, zmusiłeś się do pobrania całego pola z bazy, explode'owaniu tego do tablicy, zrobieniu unset elementu o określonej wartości, implode'owaniu i dopiero zapisie do bazy tego. Gdybyś sensowniej zapisywał elementy nie było by problemu. Użycie liter dałoby Ci większy zakres (wszystkie litery alfabetu czy nawet znaki i cyfry) a ujęcie z obu stron liczby delimiterami to też jakieś rozwiązanie. A tak masz problem, bo nie możesz użyć szukania w stylu .grupa. gdyż oznaczenie grupy może być na końcu lub początku co zaowocuje brakiem z którejś strony kropki. No chyba, że to jakiś panel administracyjny z checkboxami. Wtedy wszystkie są przepychane jako elementy tablicy i zrobienie explode i implode z góry już jest i tak robione.
Ale to jest zgaduj zgadula, bo nie wiadomo jak w skrypcie Ty te grupy "przetwarzasz". EDIT: @potrebUP: Sądząc z opisu istnieje przynależność do kilku grup jako możliwość, a to oznacza, że ze stringiem tak nie można postąpić, bo będą jaja gdy ktoś zechce odejść z grupy o numerze jednocyfrowym, gdy są już wielocyfrowe. Zrobiłbyś w sytuacji .11.5.211.34 z usunięciem grupy 11 taki cyrk w efekcie => .5.234 On musi w takiej sytuacji zrobić explode z użyciem . jako delimitera i zrobić unset konkretnego elementu a potem implode z . znów jako delimiter i do bazy. Usuwanie jednocyfrowych grup userowi zrobiłoby w bazie masakrę. Ten post edytował thek 5.11.2009, 23:25:29 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
EDIT: @potrebUP: Sądząc z opisu istnieje przynależność do kilku grup jako możliwość, a to oznacza, że ze stringiem tak nie można postąpić, bo będą jaja gdy ktoś zechce odejść z grupy o numerze jednocyfrowym, gdy są już wielocyfrowe. Zrobiłbyś w sytuacji .11.5.211.34 z usunięciem grupy 11 taki cyrk w efekcie => .5.234 On musi w takiej sytuacji zrobić explode z użyciem . jako delimitera i zrobić unset konkretnego elementu a potem implode z . znów jako delimiter i do bazy. Usuwanie jednocyfrowych grup userowi zrobiłoby w bazie masakrę. Masz rację, wtedy zacznie się miszmasz w kolumnie z grupami. Rozbicie na częsci tego byłoby lepsze a raczej pożądane. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 10:20 |