Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> UNIQUE CONCAT, nie dublujący wynik działania CONCAT
rgrg2
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 29.08.2010

Ostrzeżenie: (0%)
-----


mam problem w mysql
nie wiem jak zrobić nie dublujący się wynik działania CONCAT

  1. $zapytanie = "UPDATE tabelalinks SET
  2. kolumnaQ=CONCAT_WS('|','$kolB',kolumnaQ),
  3. kolumnaL=CONCAT_WS('|','$kolL',kolumnaL),
  4. kolumnaT=CONCAT_WS('|','$kolT',kolumnaT),
  5. kolumnaU=CONCAT_WS('|','$kolU',kolumnaU) WHERE kolumnaL='$kolL'";
  6.  
  7. mysql_query($zapytanie);


w php przy tablicach używam

  1. $abc[$i] = implode("|" , array_unique(explode("|",$abc[$i])));


a jak to zapisać w zapytaniu sql ?

Ten post edytował rgrg2 2.01.2012, 21:08:37
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Proszę wstawić bbcode
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




1) Co trzymasz w tych kolumnach i dlaczego tak?
2) Co do problemu:
musisz użyc IF w mysql. jesli kolumna nie zawiera tekstu, który próbujesz łączyc, to łącz, jak zawiera to nie łącz.
http://dev.mysql.com/doc/refman/5.0/en/con...-functions.html
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
Go to the top of the page
+Quote Post
rgrg2
post
Post #4





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 29.08.2010

Ostrzeżenie: (0%)
-----


dzięki za informacje, że w mysql takie coś jak IF istnieje
w dalszym ciągu nie wiem jak takie if wkomponować poprawnie do zapytania UPDATE z CONCAT_WS
zmienne $kolB,$kolL,$kolT,$kolU zawierają informacje w txt, csv które w pętli php ładuje do bazy przez insert

wymyśliłem obejście tego problemu:
1/ odczytanie wiersza o szukanym url w mysql
2/ wykonanie unique na zmiennych zawierajcych dane z mysql, na tablicach php
3/ update wyników do bazy

$kolB,$kolumnaL zawierają adresy url

chyba, że załaduje dane z csv do tymczasowej bazy i wykonam
połączenie w inny sposób właśnie patrzę do jakiegoś opisu
jest takie coś jak INNER JOIN, czy NATURAL JOIN, złączenia tabel
albo GROUP_CONCAT, GROUP BY
nie zajmowałem się jeszcze tymi zagadnieniami w mysql
chce w mysql trzymać bazę linków z opisami, żeby kolumny przy dodawaniu z zewnętrznego pliku, dodawały nowe informacje i oddzielały znakiem | do istniejącego rekordu lub dodawały nowy jeśli w bazie nie ma podanego url

Ten post edytował rgrg2 3.01.2012, 16:55:40
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 14:49