Avatar billede rtfm Nybegynder
03. januar 2003 - 15:30 Der er 13 kommentarer og
1 løsning

Søg i mange tabeller på samme tid

Er i gang med at lave en søgemaskine til min side, men er løbet ind i nogel problemer.

Den skal fungere sådan, at man udfylder en ganske almindelig formular, hvor der så vælges en kategori hvori man vil søge (f.eks. Scripts, Programmer, Artikler, Forum, osv. osv.).

Når man så eksempelvis vælger Scripts, så skal den søge i 5 tabeller (uden relation til hinanden) og hente data ud af nogle bestemte felter.


Tabel-eksempler:
scripts_php:
====================================================
id  script_navn  kategori  beskrivelse  bruger
----------------------------------------------------
1    Navn1        kat1      besk1        bruger1
2    Navn2        kat2      besk2        bruger2
3    Navn3        kat3      besk3        bruger3


scripts_asp:
====================================================
id  script_navn  kategori  beskrivelse  bruger
----------------------------------------------------
1    Navn1        kat1      besk1        bruger1
2    Navn2        kat2      besk2        bruger2
3    Navn3        kat3      besk3        bruger3

osv...

Problemet består i at skulle søge i flere tabeller på samme tid.

Jeg ville gerne se nogle eksempler på query-strings, hvor der bliver søgt i tabellerne overovers felter, med undtagelse af id.
Avatar billede iqzero Nybegynder
03. januar 2003 - 15:32 #1
Du kan lege lidt med joins. tjek manualen

Noget i stil med

select scripts_php.id as php_id, scripts_asp.id as asp_id;
Avatar billede iqzero Nybegynder
03. januar 2003 - 15:33 #2
ups, med undtagelse af id.

select scripts_php.kategori as php_kategori scripts_asp.kategori as asp_kategori where bla bla bla
Avatar billede iqzero Nybegynder
03. januar 2003 - 15:36 #3
Hvis de er fuldkommen uafhængige af hinanden er du nok bedre tjent ved at lave seperate queries for hver tabel

Altså,
for hver $kategori {
  $sql="select * from $kategori where bla = bla"
slut
Avatar billede erikjacobsen Ekspert
03. januar 2003 - 15:43 #4
Må jeg spørge hvorfor du ikke har lavet én tabel:

id  script_navn  kategori  beskrivelse  bruger    sprog
----------------------------------------------------
1    Navn1        kat1      besk1        bruger1  php
2    Navn2        kat2      besk2        bruger2  asp

Det ville vist gøre livet nemmere nu, ikke?
Avatar billede rtfm Nybegynder
03. januar 2003 - 15:46 #5
erikjacobsen >> Der er også meget anden data om de forskellige scripts, som er forskellig fra tabel til tabel. Det er bare ikke noget der skal bruges i dette tilfælde.
Avatar billede mufoxe Nybegynder
03. januar 2003 - 15:55 #6
Jeg ville også holde mig til forskellige queries evt. indpakket i en stored procedure. Det er lige til :)
Avatar billede rtfm Nybegynder
03. januar 2003 - 15:59 #7
Er lige i gang med at teste iqzeros query, men skal nok komme tilbage og give point.
Avatar billede tipsen Nybegynder
04. januar 2003 - 02:08 #8
Umiddelbart skulle man tro at tabeller til hhv. asp og php scripts havde samme struktur...
Avatar billede iqzero Nybegynder
04. januar 2003 - 04:27 #9
Enig tipsen :)
Avatar billede rtfm Nybegynder
04. januar 2003 - 13:40 #10
Det kan man sige, men det er jo også kun et eksempel. Det er bare det der med at søge i flere tabeller, som intet har med hinanden at gøre, på samme tid.
Avatar billede rtfm Nybegynder
04. januar 2003 - 14:03 #11
iqzero>> Har holdt mig til seperate queries som du foreslog. Du har fået dine point.
Avatar billede rtfm Nybegynder
04. januar 2003 - 14:14 #12
Har fortsat spørgsmålet på http://www.eksperten.dk/spm/300837.
Avatar billede rtfm Nybegynder
04. januar 2003 - 14:15 #13
Tænkte at folk nok ville have point for at besvare det.
Avatar billede iqzero Nybegynder
04. januar 2003 - 16:51 #14
Thanks you very much. :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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