Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pobranie tylko jednej wartości
zdzichu
post
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 28.08.2006

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


Witajcie. Stworzyłem sobie tabelę tpl_var. Jego struktura to:
Kod
id | assigned_to | name | value

Tabela ta odpowiada za zmienne szablonów w cmsie. Pole assigned_to odpowiada za przypisanie zmiennej do danego szablonu (jeśli NULL to jest to zmienna globalna, dostępna dla każdego szablonu). Chciałbym jednak zachować taką hierarchię: jeśli są zmienne o dwóch identycznych nazwach, to pobieram tą wartość, której assigned_to != NULL.
w tej chwili zapytanie wygląda tak:
  1. <?php
  2. $result = $db->execute("SELECT * FROM __tpl_vars WHERE assigned_to IS NULL OR assigned_to='".$actual_theme."' ");
  3. ?>

podejrzewam, że muszę dodać do tego jeszcze jakiś LIMIT() czy coś, jednak nie mam pojęcia jak to ugryźć... z góry dzięki za pomoc:)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Norbas
post
Post #2





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 6.02.2006

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


  1. ... ORDER BY assigned_to DESC LIMIT 1


--------------------
Go to the top of the page
+Quote Post
zdzichu
post
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 28.08.2006

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


no niestety... tak by było najprościej, ale jest to nie możliwe z jednego powodu: limit powoduje, że pobiera tylko jedną wartość z całego zapytania.
A przecież zmiennych może być kilka(mam na myśli zmienne o różnym name, bo o identycznym przewiduję max 2 ).
No, chyba, że da się użyć Limita w inny sposób.
Go to the top of the page
+Quote Post
Norbas
post
Post #4





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 6.02.2006

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


Zrób bez LIMIT smile.gif. W wypadku dwóch rekordów o tej samej wartości 'assigned_to' - wartość z NULL dostaniesz jako drugą (w pętli).


--------------------
Go to the top of the page
+Quote Post
zdzichu
post
Post #5





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 28.08.2006

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


hmm.. niby działa, jednak moze to sprawiac pewne problemy później. Czy jest jednak metoda, która rozwiąże mój problem w pełni prawidłowo?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 20:12