Kom ihåg mig?
Home Menu

Menu


Problem med en MySQL sökning

 
Ämnesverktyg Visningsalternativ
Oläst 2005-01-05, 20:27 #11
guran guran är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Apr 2004
Inlägg: 1 061
guran guran är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Apr 2004
Inlägg: 1 061
Om du skall göra en join på två tabeller så måste du ha ett värde för länkar dem tillsammans. T.ex. skall din usertable ha ett user id och din imagetable ett user id. User id i imagetable talar om vilken user i usertable som en image eller flera image tillhör. En korrekt SQL-fråga skulle då vara:

Kod:
SELECT usertable.name FROM usertable, imagetable
WHERE usertable.user_id=imagetable.user_id
Observera att frågan ovan endast kommer att returnera de namn som har en en post i tabellen imagetable.

Att länka två tabeller utan att ange vad de har gemensamt kommer att returnera alla tänkbara möjligheter som finns mellan tabellerna. Ett exempel på detta är om en tabell innehåller två rader med värdena 1 och 2 och en anna tabell innehåller två rader med värdena a och b skulle en länkning utan att ange vad de har gemensamt ge resultatet:

1 a
1 b
2 a
2 b

Detta kallas för Cartesian join. I princip blir resultatet antal rader i tabell_1 * antal rader i tabell_2. Har du två tabeller med 100 rader i varje blir resultatet 10.000 rader. Så två tabeller med 1.000 rader blir 1 miljon rader i retur. Klart att din server får problem.

Det vore kanske bättre om du angav vad du vill ha för resultat, så att en korrekt fråga kan utformas. Jag har en känsla av att du inte får det resultat du vill ha rent logiskt även om resultatet kan se ut att vara riktigt.
guran är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-01-06, 00:12 #12
fabians avatar
fabian fabian är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2004
Inlägg: 2 162
fabian fabian är inte uppkopplad
Klarade millennium-buggen
fabians avatar
 
Reg.datum: Jul 2004
Inlägg: 2 162
Citat:
Originally posted by guran@Jan 5 2005, 21:27
Om du skall göra en join på två tabeller så måste du ha ett värde för länkar dem tillsammans. T.ex. skall din usertable ha ett user id och din imagetable ett user id. User id i imagetable talar om vilken user i usertable som en image eller flera image tillhör. En korrekt SQL-fråga skulle då vara:

Kod:
SELECT usertable.name FROM usertable, imagetable
WHERE usertable.user_id=imagetable.user_id
Observera att frågan ovan endast kommer att returnera de namn som har en en post i tabellen imagetable.

Att länka två tabeller utan att ange vad de har gemensamt kommer att returnera alla tänkbara möjligheter som finns mellan tabellerna. Ett exempel på detta är om en tabell innehåller två rader med värdena 1 och 2 och en anna tabell innehåller två rader med värdena a och b skulle en länkning utan att ange vad de har gemensamt ge resultatet:

1 a
1 b
2 a
2 b

Detta kallas för Cartesian join. I princip blir resultatet antal rader i tabell_1 * antal rader i tabell_2. Har du två tabeller med 100 rader i varje blir resultatet 10.000 rader. Så två tabeller med 1.000 rader blir 1 miljon rader i retur. Klart att din server får problem.

Det vore kanske bättre om du angav vad du vill ha för resultat, så att en korrekt fråga kan utformas. Jag har en känsla av att du inte får det resultat du vill ha rent logiskt även om resultatet kan se ut att vara riktigt.
Tack för en bra beskrivning. Upptäckte att när jag sökte endast på användare med bilder så funkade det det perfekt, men när det var användare utan bild så funkade det inte. Och eftersom jag har snart 15000 medlemmar så blir det en del att söka igenom...

För att bättre förstå vad jag vill ha ut, kolla på
sny gga st. nak en.o rg/s ear ch.php
(Fast ta bort dom onödiga mellanslagen)



Det är inte jag som kodat sajten, utan det är ett köpt script, så jag har nog inte 100% koll på exakt vad det är jag vill ha ut av sökningen, och den är absolut inte optimerad.

För att se hur söksidan ser ut så har ni sourcen här:
sn ygg as t. na ke n. org /s ea rc h. ph p.txt
s nygg ast. nake n.or g/se arch resu lts .php .tx t


Har ni tips på övriga förbättringar i den så är ni varmt välkomna, jag är newbie.
fabian är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-01-06, 00:20 #13
kullervos avatar
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2003
Inlägg: 1 519
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
kullervos avatar
 
Reg.datum: Dec 2003
Inlägg: 1 519
Citat:
Originally posted by fabian@Jan 6 2005, 00:12
För att se hur söksidan ser ut så har ni sourcen här:
sn ygg as t. na ke n. org /s ea rc h. ph p.txt
s nygg ast. nake n.or g/se arch resu lts .php .tx t
Tips: Byt namn på filerna till .phps istället. Om du har akviterat stöd för det på servern så blir det riktigt snygg utskrift.
Exempel: hedkandi.kullervo. se/class.phpmailer.phps
kullervo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-01-06, 00:37 #14
fabians avatar
fabian fabian är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2004
Inlägg: 2 162
fabian fabian är inte uppkopplad
Klarade millennium-buggen
fabians avatar
 
Reg.datum: Jul 2004
Inlägg: 2 162
Citat:
Ursprungligen postat av kullervo
Citat:
Ursprungligen postat av fabian
För att se hur söksidan ser ut så har ni sourcen här:
sn ygg as t. na ke n. org /s ea rc h. ph p.txt
s nygg ast. nake n.or g/se arch resu lts .php .tx t
Tips: Byt namn på filerna till .phps istället. Om du har akviterat stöd för det på servern så blir det riktigt snygg utskrift.
Exempel: hedkandi.kullervo. se/class.phpmailer.phps
Testade med search.phps, men fick inget speciellt vackert resultat. Vad heter funktionen som gör det fint?
fabian är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-01-06, 00:50 #15
kullervos avatar
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2003
Inlägg: 1 519
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
kullervos avatar
 
Reg.datum: Dec 2003
Inlägg: 1 519
Citat:
Ursprungligen postat av fabian
Citat:
Originally posted by -kullervo@Jan 6 2005, 01:20
Citat:
Ursprungligen postat av fabian
För att se hur söksidan ser ut så har ni sourcen här:
sn ygg as t. na ke n. org /s ea rc h. ph p.txt
s nygg ast. nake n.or g/se arch resu lts .php .tx t
Tips: Byt namn på filerna till .phps istället. Om du har akviterat stöd för det på servern så blir det riktigt snygg utskrift.
Exempel: hedkandi.kullervo. se/class.phpmailer.phps

Testade med search.phps, men fick inget speciellt vackert resultat. Vad heter funktionen som gör det fint?
Eftersom du kör Apache slänger du in det här i httpd.conf
Kod:
AddType application/x-httpd-php-source .phps
Edit: Jag vet iofs inte om det funkar på Apache 2 som du kör, men det borde vara samma syntax. Kolla annars i installationsmanualen till PHP.
kullervo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-01-06, 03:10 #16
fabians avatar
fabian fabian är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2004
Inlägg: 2 162
fabian fabian är inte uppkopplad
Klarade millennium-buggen
fabians avatar
 
Reg.datum: Jul 2004
Inlägg: 2 162
Citat:
Ursprungligen postat av kullervo
Citat:
Originally posted by -fabian@Jan 6 2005, 00:37
Citat:
Originally posted by -kullervo@Jan 6 2005, 01:20
Citat:
Ursprungligen postat av fabian
För att se hur söksidan ser ut så har ni sourcen här:
sn ygg as t. na ke n. org /s ea rc h. ph p.txt
s nygg ast. nake n.or g/se arch resu lts .php .tx t
Tips: Byt namn på filerna till .phps istället. Om du har akviterat stöd för det på servern så blir det riktigt snygg utskrift.
Exempel: hedkandi.kullervo. se/class.phpmailer.phps

Testade med search.phps, men fick inget speciellt vackert resultat. Vad heter funktionen som gör det fint?

Eftersom du kör Apache slänger du in det här i httpd.conf
Kod:
AddType application/x-httpd-php-source .phps
Edit: Jag vet iofs inte om det funkar på Apache 2 som du kör, men det borde vara samma syntax. Kolla annars i installationsmanualen till PHP.
Yes, funkar fint.

Har gjort om båda filerna till phps nu.
fabian är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 3 (0 medlemmar och 3 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 12:25.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017