Potrzebna pomoc z zapytaniem SQL (Select)

Odpowiedz Nowy wątek
2015-01-27 12:36
Uczeń_nowicjusz
0

Witam.
Mam do zrobienia projekt bazy zintegrowanej ze stronką. Coś prostego. W zasadzie wszystko już jest, są tylko 2 "małe" zgrzyty, z czego zależy mi najbardziej na rozwiązaniu tego drugiego:

1) Podczas próby zrobienia update przez php wyrzuca błąd 403. Sprawdziłem na necie i podobno może być to związane z brakiem uprawnień do wywołania. Serwis stoi na darmowym hoście - może być to jego wina?
2) Mam zapytanie, które ma wyświetlić niezbędne informacji odnośnie przepisu. Wykorzystałem tam funkcje typu group_concat() , aby wyświetlić ładnie po przecinku składniki czy przybory w jednej tabeli, ALE... w bazie mam przepisów 7-8 (testowo), a wyświetla mi się parę mniej. Zastanawiam się czy to nie wina JOINów, bo trochę ich nawrzucałem, ale... każe mini-zapytanie działa dobrze, ale przy group_concat() nie można (źle działa) użyć UNION. Wrzucam zapytanie oraz link do struktury bazy danych:

SELECT TRIM( nazwa_przepisu ) AS 'Nazwa przepisu', 
IFNULL(TRIM(nick_autora), 'Autor nieznany') AS 'Autor przepisu',
data_dodania AS 'Data dodania', 
GROUP_CONCAT( DISTINCT TRIM( rodzaj_dania ) ORDER BY rodzaj_dania ASC SEPARATOR  ', ' ) AS  'Rodzaj dania',
TRIM(czas_przygotowania) AS 'Czas przygotowania', 
TRIM(koszt_przygotowania) AS 'Koszt przygotowania',
TRIM(stopien_skomplikowania_przepisu) AS 'Stopien skomplikowania', 
TRIM(opis_zdjecia) AS 'Opis zdjęcia', 
TRIM(url_zdjecia) AS 'URL zdjęcia', 
TRIM(prawa_autorskie) AS 'Copyright by ', 
GROUP_CONCAT( DISTINCT TRIM( nazwa_przyboru ) ORDER BY nazwa_przyboru ASC SEPARATOR ', ' ) AS 'Niezbędne przybory',
GROUP_CONCAT( DISTINCT TRIM( nazwa_skladnika ) , CASE WHEN ilosc_skladnikow = '' THEN '' ELSE ' (' END, TRIM( ilosc_skladnikow ) , CASE WHEN ilosc_skladnikow = '' THEN '' ELSE ')' END ORDER BY nazwa_skladnika ASC SEPARATOR ', ' ) AS 'Składniki', 
TRIM( opis_wykonania ) AS 'Opis wykonania'

FROM `Przepisy` 

JOIN Przepisy_Skladniki ON Przepisy.id_przepisu = Przepisy_Skladniki.id_przepisu
JOIN Skladniki ON Przepisy_Skladniki.id_skladnika = Skladniki.id_skladnika
JOIN Przepisy_Przybory ON Przepisy.id_przepisu = Przepisy_Przybory.id_przepisu
JOIN Przybory ON Przepisy_Przybory.id_przyboru = Przybory.id_przyboru
LEFT JOIN CzasyPrzygotowan ON Przepisy.id_czasu_przygotowania = CzasyPrzygotowan.id_czasu_przygotowania
LEFT JOIN Przepisy_RodzajeDan ON Przepisy.id_przepisu = Przepisy_RodzajeDan.id_przepisu
LEFT JOIN RodzajeDan ON Przepisy_RodzajeDan.id_rodzaju_dania = RodzajeDan.id_rodzaju_dania
LEFT JOIN StopnieSkomplikowania ON Przepisy.id_stopnia_skomplikowania = StopnieSkomplikowania.id_stopnia_skomplikowania
JOIN Zdjecia ON Przepisy.id_zdjecia = Zdjecia.id_zdjecia
LEFT JOIN Autorzy ON Przepisy.id_autora = Autorzy.id_autora
LEFT JOIN KosztyPrzygotowan ON Przepisy.id_kosztu = KosztyPrzygotowan.id_kosztu

GROUP BY nazwa_przepisu
ORDER BY nazwa_przepisu ASC

Link do struktury: http://i.imgur.com/JES24wf.png

Pozostało 580 znaków

2015-01-27 15:24
0

Tak na szybko...

  1. Raczej wygląda na brak uprawnień do pliku aniżeli polecenia UPDATE. Tak, może to być powodem. Upewnij się, że masz dobrze ustawione prawa dostępu do plików ze skryptem.

+1 post
edytowany 1x, ostatnio: wesoledi, 2015-01-27 15:25

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0