FAQ |
Kalender |
2011-06-16, 02:58 | #1 | ||
|
|||
Nykomling
|
Hej.
Jag försöker klura ut hur jag hämtar liknande titlar som har likadan genres som den titeln man är inne på för tillfället, men det går inte riktigt som jag vill. Min lösning visar inga liknande titlar alls, även att det finns 1 liknande. PHP-kod:
Kan ni se vad som är problemet måntro? Hade varit tacksam för ett snabbt svar. Tack på förhand. |
||
Svara med citat |
2011-06-16, 09:17 | #2 | |||
|
||||
Nykomling
|
Ganska svårt att avgöra utan att se data, en dump av titles & title_genres med de berörda raderna hade hjälpt.
Och vart landar du..? På "echo 'Inga liknande titlar kunde hittas';" eller? Utan data är det inte lätt för en utomstående att avgöra. |
|||
Svara med citat |
2011-06-22, 00:32 | #3 | ||
|
|||
Nykomling
|
Tack för ditt svar, Reconsider.
Japp, jag landar på "Inga liknande titlar kunde hittas". Om du menar hur SQL'n för titles och title_genres ser ut, så kommer den här: Kod:
CREATE TABLE IF NOT EXISTS `titles` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Avser titelns ID-nummer', `id_user` int(11) NOT NULL DEFAULT '0' COMMENT 'Avser besökarens ID-nummer', `id_editor` int(11) NOT NULL DEFAULT '0' COMMENT 'Avser besökarens ID-nummer som ändrade titeln', `id_youtube` varchar(15) NOT NULL COMMENT 'Visar ID-numret till trailer på YouTube', `id_imdb` varchar(9) NOT NULL COMMENT 'Avser ID-numret från IMDb', `post_name` text NOT NULL COMMENT 'titelns namn', `post_url_review` text NOT NULL COMMENT 'Visar direktlänken till recensionen för filmen, TV, eller TV-serien', `post_category` int(11) DEFAULT NULL COMMENT 'Avser kategorins ID-nummer', `post_genre_01` int(11) DEFAULT NULL COMMENT 'Avser ID-numret för genre nr. 1', `post_genre_02` int(11) DEFAULT NULL COMMENT 'Avser ID-numret för genre nr. 2', `post_description` text NOT NULL COMMENT 'titeln beskrivning', `post_description_own` text NOT NULL COMMENT 'Besökarens egna beskrivning', `date_published` datetime NOT NULL COMMENT 'Visar när titeln lades till', `date_edited` datetime NOT NULL COMMENT 'Visar när titeln ändrades', `count_downloads` int(11) DEFAULT NULL COMMENT 'Räknar antalet nedladdningar', `info_ipaddress` text NOT NULL COMMENT 'Visar IP-adressen som tillhör den som la till titeln', `info_ipaddress_editor` text NOT NULL COMMENT 'Visar IP-adressen som tillhör den som ändrade titeln', `info_imdb_cover` text NOT NULL COMMENT 'IMDb - Visar omslagsbilden', `info_imdb_year` bigint(4) DEFAULT NULL COMMENT 'IMDb - Visar årtalet', `info_imdb_runtime` int(11) DEFAULT NULL COMMENT 'IMDb - Visar längden', `info_imdb_rating` decimal(10,1) NOT NULL COMMENT 'IMDb - Visar betygen', `people_writer_01` text NOT NULL COMMENT 'Författare #1', `people_writer_02` text NOT NULL COMMENT 'Författare #2', `people_actor_01` text NOT NULL COMMENT 'Skådespelare #1', `people_actor_02` text NOT NULL COMMENT 'Skådespelare #2', `people_actor_03` text NOT NULL COMMENT 'Skådespelare #3', `people_actor_04` text NOT NULL COMMENT 'Skådespelare #4', `people_actor_05` text NOT NULL COMMENT 'Skådespelare #5', PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`), FULLTEXT KEY `post_name` (`post_name`) ) CREATE TABLE IF NOT EXISTS `title_genres` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Avser genrerns ID-nummer', `id_title` int(11) NOT NULL DEFAULT '0' COMMENT 'Avser titelns ID-nummer', `id_user` int(11) NOT NULL DEFAULT '0' COMMENT 'Avser besökarens ID-nummer', `id_editor` int(11) NOT NULL DEFAULT '0' COMMENT 'Avser besökarens ID-nummer som ändrade titeln', `post_name` text NOT NULL COMMENT 'Titelns namn', `date_published` datetime NOT NULL COMMENT 'Visar när titeln lades till', `date_edited` datetime NOT NULL COMMENT 'Visar när titeln ändrades', `info_ipaddress` text NOT NULL COMMENT 'Visar IP-adressen som tillhör den som la till titeln', `info_ipaddress_editor` text NOT NULL COMMENT 'Visar IP-adressen som tillhör den som ändrade titeln', PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) |
||
Svara med citat |
2011-06-22, 01:50 | #4 | |||
|
||||
Nykomling
|
Eftersom du använder dig av INT tror jag inte det är bra att placera '' runt datan..
Sen hade jag väl lagt upp det såhär istället.. PHP-kod:
Du hade WHERE villkor1 AND villkor2 OR villkor1 AND villkor3 Genom att lägga in () delar du upp det till WHERE (villkor1 AND villkor2) OR (villkor1 AND villkor3) Dock förkortade jag också ledet genom att eliminera andra placeringen av villkor1. Senast redigerad av Reconsider den 2011-06-22 klockan 01:53 |
|||
Svara med citat |
2011-06-22, 03:37 | #5 | ||
|
|||
Nykomling
|
Tack för ditt snabba svar, Reconsider
Jag testade att lägga in din lösning, men jag får fortfarande samma "fel" som jag skrev i mitt förra inlägg. När jag valde att eka ut SQL-frågan, blev resultatet såhär: SELECT * FROM titles WHERE id != 1 AND (post_genre_01 = 17 OR post_genre_02 = 19) ORDER BY post_name ASC Jag var då inne på informations-sidan om titeln som har ID-numret 1, som i sin tur har ID-numren 17 (drama) och 19 (romantik) för genren. Det finns en till titel inlagd i databasen, som stämmer överrens med genren drama, men denna vill inte visas. |
||
Svara med citat |
2011-06-22, 11:41 | #6 | |||
|
||||
Nykomling
|
Inte så att du har genre_01 och genre_02 "tvärtom" mot hur du egentligen tänker?
Kanske menar du egentligen SELECT * FROM titles WHERE id != 1 AND (post_genre_01 = 17 OR post_genre_02 = 19 OR post_genre_01 = 19 or post_genre_02 = 17) ORDER BY post_name ASC Senast redigerad av Reconsider den 2011-06-22 klockan 11:44 |
|||
Svara med citat |
2011-06-22, 13:55 | #7 | ||
|
|||
Klarade millennium-buggen
|
används "field != value " i SQL?
är det inte "field NOT IS value" eller "field<> value" |
||
Svara med citat |
2011-06-22, 14:16 | #8 | ||
|
|||
Nykomling
|
Citat:
Kod:
SELECT * FROM titles WHERE id != '".$title['id']."' AND post_genre_01 = '".(int)$genre1['id']."' OR id != '".$title['id']."' AND post_genre_02 = '".(int)$genre2['id']."' OR id != '".$title['id']."' AND post_genre_01 = '".(int)$genre2['id']."' OR id != '".$title['id']."' AND post_genre_02 = '".(int)$genre1['id']."' ORDER BY post_name ASC Senast redigerad av edgren den 2011-06-22 klockan 14:18 |
||
Svara med citat |
2011-06-23, 22:37 | #9 | |||
|
||||
Mycket flitig postare
|
||||
Svara med citat |
Svara |
|
|