![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 22.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Robię nowy skrypt swojej strony i potrzebuję na stronie kategorii, która ma kilka podkategorii wyświetlać wszystkie artykuły: z danej kategorii, i ze wszystkich podkategorii. Zrobiłem w tym celu zapytanie:
Proszę o pomoc. -------------------- kacperkolodziej.pl
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
A jaki masz problem?
Przydałoby się pewnie też opisać strukturę danych (czyli jak podkategorie są powiązane z kategoriami) |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 22.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Struktura wygląda tak:
`arts` `id` `title` [dalej kilka pól] `category` [i jeszcze kilka innych pól] `category` `id` `name` `desc` `attached` - na podstawie tego pola skrypt sprawdza, czy kategoria jest powiązana z jakąś (nadrzędną), czy nie (wartość 0). Problem polega na tym, że skrypt zwraca pustą wartość, chociaż artykułów jest bardzo dużo. W phpMyAdmin dałem to polecenie:
a on wyrzucił coś takiego: Kod #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN (SELECT `id` FROM `category` WHERE `attached` LIKE '%')) ORDER BY `date` DE' at line 1
Ten post edytował kacpero1094 9.07.2010, 08:40:01 -------------------- kacperkolodziej.pl
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 29 Dołączył: 18.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zgadnij co tu jest niepoprawnie ;>
-------------------- Kto rano wstaje ten leje jak z cebra.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 22.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zgadnij co tu jest niepoprawnie ;>
Jeśli chodzi Ci o `category` LIKE `id`, to powiem, że tak może być, bo widziałem to w książce "SQL. Leksykon kieszonkowy". A jak wiesz, to powiedz ![]() -------------------- kacperkolodziej.pl
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście, że może być, chociaż lepszy byłby = zamiast LIKE
A czy piszą w tym leksykonie że może być od razu po tym IN? |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 22.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi Ci o `category` LIKE `id`, to powiem, że tak może być, bo widziałem to w książce "SQL. Leksykon kieszonkowy". Nie chodziło mi tutaj o LIKE, tylko o to, że przyrównuję "pole do pola", a nie pole do konkretnej wartości. -------------------- kacperkolodziej.pl
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 29 Dołączył: 18.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zrzut błędu składni sql-a wyraźnie informuje gdzie jest problem. Niepoprawnie używasz operandu w konstrukcji IN.
ps. Co do leksykonu to może na ostatniej stronie jest errata ![]() -------------------- Kto rano wstaje ten leje jak z cebra.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 22.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Niestety żadnej erraty nie ma, ale w opiniach na helion.pl przeczytałem, że są błędy w kodzie. W innym miejscu było dobrze, ale zanim to przeczytałem, gvintoo z BLIP'a mi to uświadomił
![]() -------------------- kacperkolodziej.pl
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 19:03 |