webForumDet fria alternativet

bygga selectsats för sökmotor

3 svar · 291 visningar · startad av ironhead

ironheadMedlem sedan mars 20011 346 inlägg
#1

Jag har gjort en stooor select-sats ifrån 9 olika tabeller mha left & outer join....
Jag vill använda denna selectsats vid sökning i mySQL......
Jag har ett formulär som har:
1 fritextruta
1 st dropdown - län
1 st dropdown - kommun
1 chkbox ruta - kategorier

Hur bygger man bäst för att man ska kunna kombinera alla val?
typ man söker på "fritext" & "chkbox"...eller båda "dropdown" eller helt enkelt alla val....

Hur bygger man smartast ihop sql-satsen...

SELECT-SATS:

SELECT * FROM lan LEFT OUTER JOIN la_ko ON lan.lanid = la_ko.lanid 
LEFT OUTER JOIN kommun ON la_ko.koid = kommun.kommunid 
LEFT OUTER JOIN fo_ko ON kommun.kommunid = fo_ko.koid 
LEFT OUTER JOIN forening ON fo_ko.foid = forening.foreningsid 
LEFT OUTER JOIN fo_ka ON forening.foreningsid = fo_ka.foid 
LEFT OUTER JOIN kategorier ON fo_ka.katid = kategorier.katid

vill bygga på dessa val utifrån valda sökkriterier

WHERE

LÄN
lan.lanid = 4

KOMMUN
kommun.kommunid = 205

KATEGORI
kategorier.kategori = 'Ishockey'

FRITEXT
forening.forening = '%$fritext%'

...men hur får jag "AND" att hamna på rätt ställe?

Please hilfe!

ironheadMedlem sedan mars 20011 346 inlägg
#2

gjorde det i PHP:

$myArray = array($val1,$val2,$val3,$val4,$val5);
$total = count($myArray);

$cnt=1;

For ($i=0; $i<$total; $i++)
{
  if ($myArray[$i]<>"")
  {
  
     if ($cnt==1)
     { 
      $SQL = " WHERE ";
     }else{
      $SQL=$SQL." AND ";
     }
   
      $SQL=$SQL.$myArray[$i];
   
      $cnt=0;
  }
}

echo "SELECT * FROM [tabell]".$SQL;
ironheadMedlem sedan mars 20011 346 inlägg
#3

*hmmm* Nu funkar plötsligt inte % för fritextsökning...men skriver jag in exakt rätt ord, kommer det fram...varför slutar wildcards att funka?
forening.forening='%$fritext%'

ironheadMedlem sedan mars 20011 346 inlägg
#4

mitt fel....igen :r

129 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)