Zoekfunctie.

Status
Niet open voor verdere reacties.

Crime

Gebruiker
Lid geworden
23 mrt 2008
Berichten
189
Ik wil een zoekfunctie, waarbij je als je op zoek klikt, niet alle pagina's die bij de site horen krijgt, maar alleen wat opgegeven pagina's.


Bijvoorbeeld:
Ik heb opgegeven in het script:

sitenaam: www.mijnnaam.mijnhost.nl/voorbeeld
trefwoorden: voorbeeld, voor, beeld, voor-beeld etc.

sitenaam: www.mijnnaam.mijnhost.nl/voorbeeld2
trefwoorden: voorbeeld, voor-beeld.

En diegene typt voorbeeld in, krijg die die 2 sites.

Stel dat ik iets anders heb ik getypt bij trefwoorden krijgt die dat als die dat trefwoord intypt. Een script dus die zoekt naar alleen sites/pagina's die ik heb aangegeven.

MySQL enzo maakt niet uit. Dat is allemaal geen probleem.
Ik hoop eigenlijk op een meteen te gebruiken script, dus alleen wat gegevens aanpassen en dan meteen kunnen gebruiken.
 
Ik denk dat je hier toch zelf wat moet gaan maken, ik ken geen kant en klare zoekmachines :)
 
Simpel voorbeeldje:

PHP:
<form method="post" name="search" action="">
<input type="text" name="q" />
<input type="submit" value="Zoek" />
</form>

<?php
if( isset( $_GET['q'] ) && trim( $_GET['q'] ) != '' ) {
  $aUrl = array();
  // Geef hieronder je pagina's met bijbehorende zoekwoorden op volgens het volgende patroon
  $aUrl['www.mijnnaam.mijnhost.nl/voorbeeld'] = array( 'voorbeeld', 'voor', 'beeld', 'voor-beeld' );
  $aUrl['www.mijnnaam.mijnhost.nl/voorbeeld2'] = array( 'voorbeeld', 'voor-beeld' );

  $aPositives = array();
  foreach( $aUrl as $sUrl => $aQuery ) {
    if( in_array( $_GET['q'] , $aQuery ) ) {
      $aPositives[] = $sUrl;
    }
  }

  echo 'Uw zoekopdracht leverde <strong>', count( $aPositives ), ' resultaten</strong> op.';
  foreach( $aPositives as $sPositive ) {
    echo '<a href="' , $sPositive , '">' , $sPositive , '</a><br />';
  }
}
?>

Er kunnen her en der nog wel wat slordigheidsfoutjes inzitten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan