Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano

Hai to znów ja :]

Mam pytanie, czy... albo nie, jak to zrobić:

Mam w bazie, w jednej tabeli takie pole które przyjmuje różne wartości ale znajdują się w nim powtarzające sekwencje:

coś tam bla bla unbreak 346

jakieś coś unbreak 4576

absdkadj unbreak 084

loijkg fb kamasutra 343

pnorj kamasutra 786

Jak widać powtarzają się "unbreak" i "kamasutra", chciałbym wykonać bajer żeby pousuwać określoną sekwencję z nazwy, jak to można zrobić? Dokładniej mówiąc w innej tabeli jest przechowana dla danej pozycji ta wartość. Czyli chcę zrobić

coś tam bla bla unbreak 346 ma id=1, w innej tabeli dla id=1 przechowana jest wartość unbreak, więc dzięki temu wiem że właśnie taki ciąg znaków mam wywalić z nazwy.

Ale żeby było łatwiej mam ciąg znaków "unbreak" i chcę go wywalić z komórki w tabeli zachowując resztę:

z "coś tam bla bla unbreak 346" niech będzie "coś tam bla bla 346"

Jak? :>

userbar1.jpg

Twiztid Tribe ®

Opublikowano

załóżmy tabela ma trzy kolumny:

ID - NAZWA - ID_Powiazania

1 - nazwa pierwsza unbreaka 34 - 69

2 - drugi produkt unbreaka 23 - 69

3 - element trzeci kamasutra 100 - 666

4 - wizjoner kamasutra 323 - 666

Druga table ma jedynie dwie kolumny:

ID - nazwa

69 - unbreaka

666 - kamasutra

Teraz z 'nazwa' pierwszej tabeli chcę wywalić powtarzające się elementy (można je rozpoznać po ID_Powiazania (ściągając wartość nazwa z drugiej tabeli) - ale tozwiązanie nie musi być pod to, poradzę sobie z adaptacją.

Załóżmy że wszędzie w nazwie powtarza się słowo 'unbreaka' i chcę je po prostu wywalić z nazwy, tak żeby np rekord o ID=1 zmienił nazwę na "nazwa pierwsza 34"

userbar1.jpg

Twiztid Tribe ®

Opublikowano

Ja pewnie bym to zrobił na zasadzie dopasowanie z poziomu shell linux, czyli: cat, sed, regexp i mysqldump.... Chociaż i bez cat'a dało by się to zrobić.

Opublikowano

Czyli "nazwa pierwsza unbreaka 34" ma stać się "nazwa pierwsza 34" a zamiast "drugi produkt unbreaka 23" ma być "drugi produkt 23" ?

Czy np. drugi wpis ma zostać usunięty całkiem a w pierwszym ma być zamiana ?

Mają one być pobierane na zasadzie:

SELECT * FROM pierwsza_tabela WHERE nazwa LIKE '%unbreaka%'

?

Sam MySQL to ma być, czy można dołożyć PHP ?

  • Lubię to 1
Opublikowano (edytowane)

Czyli "nazwa pierwsza unbreaka 34" ma stać się "nazwa pierwsza 34" a zamiast "drugi produkt unbreaka 23" ma być "drugi produkt 23" ?

Dokładnie tak, w każdym wpisie ma być wywalony jakiś określony ciąg, zróbmy to na przykładzie jednego ciagu "unbreaka" :]
Mają one być pobierane na zasadzie:

SELECT * FROM pierwsza_tabela WHERE nazwa LIKE '%unbreaka%'

?

Tak mogą być pobierane na tej zasadzie :)
Sam MySQL to ma być, czy można dołożyć PHP ?

Może być php, może być czyste mysql :] Edytowane przez unbreak

userbar1.jpg

Twiztid Tribe ®

Opublikowano

Ołkej, tenks :) Pomogło, nie wpadłem na pomysł żeby po prostu zamienić na 'nic' :D Myślałem że będzie trzeb kombinować pobieraniem nazwy, wycięciem określonego ciągu i zapisaniem nowej nazwy bez ciągu :D

:thumbsup:

userbar1.jpg

Twiztid Tribe ®

  • Manager
Opublikowano

Problem ROZWIĄZANY. Jeśli są jakiekolwiek wątpliwości, pytania proszę o założenie nowego tematu.

Wszelkie uzasadnione reklamacje/pretensje/sugestie/rady przyjmuje ekipa forum.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.