Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    284

    modificare la query del mdr

    Ciao a tutti

    ho un problema con il motore di ricerca del mio sito , si tratta di un catalogo prodotti , dovrei riuscire a renderlo piu preciso.
    Se ad esempio un utente cerca "nokia 3310" dovrebbe uscire solo quel prodotti o altri uguali se ce ne sono invece nel mio caso
    escono tutti i prodotti che anno una delle due parole all' interno del titolo o delle descrizione.
    Come si può fare ?
    per maggiore chiarezza posto l'attuale codice php

    Codice PHP:
        $sentence "SELECT {$prefix}pages.id, {$prefix}pages.url, {$prefix}pages.title, {$prefix}pages.description, {$prefix}pages.pics, {$prefix}pages.keywords, {$prefix}pages.category, {$prefix}categories.name AS category_name FROM {$prefix}pages, {$prefix}categories WHERE {$prefix}categories.id = {$prefix}pages.category AND {$prefix}pages.accepted = 'y'";
        for (
    $x 0$x min(4,count($array_query)); $x++){
            if (
    $x == 0){ $sentence .= " AND (";};
            
    $sentence .= {$prefix}pages.title LIKE '%{$array_query[$x]}%' OR {$prefix}pages.keywords LIKE '%{$array_query[$x]}%' OR {$prefix}pages.description LIKE '%{$array_query[$x]}%' OR {$prefix}pages.url LIKE '%{$array_query[$x]}%'";
            if (
    $x != min(4,count($array_query))-1){
                
    $sentence .= " OR ";
            }else{
                
    $sentence .= ")";
            };
        }; 

    Ciao grazie mille per eventuale aiutino.

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    prova a togliere il simbolo % dalle clausole LIKE.
    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    284
    Ho provato ma non va' perchè cosi non escono risultati per qualsiasi keyword

    Piano B ?


  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    l'operatore % serve per cercare anche le parole contenute dentro altre parole...usandolo avrai sempre risultati parziali..

    in quali campi devi effettuare la ricerca?? adesso la fai nei campi title, keywords, description e url,
    think simple think ringo

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    284
    quindi vuol dire che se ad esempio scrivo DRIVERS usciranno tutti i prodotti che contengono anche solo DRIVE ,(una parola dentro un'altra parola) in
    title, keywords, description e url,
    perciò se è cosi , non è questo il problema.

    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.