![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Próbuję zaadoptować na swoje potrzeby projekt sklepu internetowego z książki, ale co chwile napotykam jakieś błędy. Z tym jednak nie umiem sobie poradzić, gdy chcę przeszukać bazę danych z poziomu sklepu na ekaranie napotykam taki błąd: Odrzucone zapytanie: funkcja showItem: SELECT GROUP_CONCAT(Autorzy.Nazwa) AS Autor, Tytuł, ISBN, Wydawnictwa.Nazwa AS Wydawnictwo, Cena, Ksiazki.Id AS Id FROM Ksiazki, Wydawnictwa, Autorzy, KsiazkiAutorzy WHERE Ksiazki.WydawnictwoId = Wydawnictwa.Id AND KsiazkiAutorzy.`KsiążkaId` = Ksiazki.Id AND KsiazkiAutorzy.AutorId = Autorzy.Id AND LOCATE('dsdsd', `autorzy`.`nazwa`) <> 0 AND LOCATE('sdfcsdfsd', `tytuł`) <> 0 GROUP BY Ksiazki.Id kod programu: Kod include "sklep_db_functions.php"; function search($autor, $tytul) { if(!makeDBConnection()){ return false; } if($autor == '' && $tytul == ''){ return false; } else if($autor == ''){ $where = "LOCATE('$tytul', `tytuł`) <> 0 "; } else if($tytul == ''){ $where = "LOCATE('$autor', `autorzy`.`nazwa`) <> 0 "; } else{ $where = "LOCATE('$autor', `autorzy`.`nazwa`) <> 0 AND "; $where .= "LOCATE('$tytul', `tytuł`) <> 0 "; } $query = "SELECT GROUP_CONCAT(Autorzy.Nazwa) AS Autor, Tytuł, ISBN, Wydawnictwa.Nazwa "; $query .= "AS Wydawnictwo, Cena, Ksiazki.Id AS Id "; $query .= "FROM Ksiazki, Wydawnictwa, Autorzy, KsiazkiAutorzy "; $query .= "WHERE Ksiazki.WydawnictwoId = Wydawnictwa.Id AND "; $query .= "KsiazkiAutorzy.`KsiążkaId` = Ksiazki.Id AND "; $query .= "KsiazkiAutorzy.AutorId = Autorzy.Id AND "; $query .= $where; $query .= "GROUP BY Ksiazki.Id"; z góry dziękuję za pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 46 Dołączył: 31.07.2009 Skąd: A Ostrzeżenie: (0%) ![]() ![]() |
tak to jest z gównianymi książkami.
Po pierwsze nie widzę abyś dodawał zmienna $where do $query zaraz za query zrób (chyba o to chudziło koledze powyżej): Kod die(var_dump($query)); Poza tym samo zapytanie jest cholernie nieczytelne, używasz wielkich znaków (w tym polskich) i kiepskiego łączenia tabel, już nawet zapomniałem ze tak można. w tym ostatnim LOCATE masz polski znak (tytuł), a kiedy wybierasz ta sama kolumnę w selekcie już polskiego znaku nie masz. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 10:49 |