Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]selekcja danych z pól o zmiennej strukturze
KrzywyPaw
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 19.12.2014

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


Witam,
Mam problem :
potrzebuję wydobyć listę liter (a,b,c,f,k) z kolumny "symbol" w takiej przykładowej tabeli "towar"
1 a, b, c
2 c
3 a
4 f, a, c
5 a
6 c
7 a, b
8 k, c
9 a
10 a, b

po zastosowaniu SELECT DISTINCT :
$a=mysql_query("SELECT DISTINCT symbol FROM towar") or die(mysql_error());

otrzymuje
1 a, b, c
2 c
3 a
4 f, a, c
5 a, b
6 k, c

a to nie spełnia moich oczekiwań, wydaje mi się,że powinienem zastosować funkcję explode() z separatorem ", " ale nie umiem tego zorganizować (IMG:style_emoticons/default/sad.gif)
Z góry dziękuję za pomoc PK
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rad11
post
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


DISTINCT grupuje tylko czyli jak masz dwa c to zrobi jedno c tak jak masz w wyniku. Mozesz uzyc po stronie PHP explode i wybrac tylko te ktore Cie interesuja ale w SQL tez da rade to zrobic.

PHP

  1. $exp = explode(',', $array);
  2.  
  3. foreach($exp as $v){
  4.  
  5. if($v == 'a' || $v == 'b'){
  6. echo $v;
  7. }
  8.  
  9. }


SQL(powinno dzialac musisz sprawdzic)

  1. SELECT * FROM towar
  2. WHERE litera LIKE '%a%' OR litera LIKE %b%;


Ten post edytował rad11 19.12.2014, 13:31:46
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 23:19