Avatar billede ze-men Nybegynder
14. december 2008 - 17:12 Der er 2 kommentarer og
1 løsning

Kompliceret forespørgsel i flere MySQL-tabeller - søgeform. i PHP

Hej eksperter,

Jeg skal lave en søgeformular der søger i flere MySQL-tabeller. Jeg programmerer i PHP og naturligvis MySQL.

Jeg skal søge i følgende tabeller og felter:

Tabel:
Eng_Sot

Felter:
dato
sendedato
journalist
tekniker
manus


Tabel:
Live

Felter:
border
oplægnedlæg

Jeg har opbygget søgeformularen i PHP med afkrydsningsbokse, da man skal kunne til- og fravælge de tabeller og felter man vil søge i. Når jeg søger efter ordet "jul" i felterne 'manus', 'oplæg' og 'nedlæg' ser URL'en sådan ud når resultatsiden vises:
resultat.php?keyword=jul&search_manus=checkbox&search_oplaeg=checkbox&search_nedlaeg=checkbox&Submit=Find+Holger

Hvordan skal SQL-forespørgselen se ud til sådan en søgeformular?

Håber I kan hjælpe....
Avatar billede Syska Mester
16. december 2008 - 13:15 #1
lav din sql ... sådan at den tager alt det med som skal søges i ... så i din WHERE gør du sådan her:
Så skal du have dine where i den rækkefølge dine indexes er i ... for at bruge dem, ellers kan det gøre din queries sygt langsomme ...

SELECT * FROM view WHERE col1 = IFNULL('null hvis du ikke vil søge på den', col1) AND col2 = IFNULL('null hvis du ikke vil søge', col2)

overstående skulle gerne give en forståelse for hvad du kan køre ...

Jeg bruger overstående i MSSQL( der hedder den godt nok ISNULL ) og det virker skide godt.

Problemet er at indexes ikke bliver brugt hvis ikke man altid har alle cols med ...

Håber det kan bruges.,
Avatar billede ze-men Nybegynder
10. januar 2009 - 17:27 #2
Problemet er løst på anden måde, ellers tak for hjælpen.
Avatar billede Syska Mester
11. januar 2009 - 00:18 #3
anden ... hmm, hvordan ?

Kunne jo ske at du havde fundet en smart løsning :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester