Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    [MySql] Query particolare

    Buongiorno!

    ho necessità di fare un motore di ricerca di questi tipo:

    TABELLA
    -ID
    -TITOLO
    -BODY


    Ora, quando faccio una ricerca vorrei che se la parola che cerco appare nel titolo mi ordini il risultato prima delle parole che appaiono nel body.

    esempio

    cerco "PROVA" che è solo nei BODY. --> Ordinamento normale
    cerco "INFORMATICA" che in un record è anche nel titoo --> Visualizza PRIMA il record con il titolo che contiene "INFORMATICA e poi gli
    altri

    sapete come fare?
    Guybrush Threepwood

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Non so viene supportato da mysql ma penso di si.

    codice:
    select ID ,TITOLO, BODY from tabella
    where TITOLO like '%$ricerca%'
    union
    select ID ,TITOLO, BODY from tabella
    where BODY like '%$ricerca%' and TITOLO not like '%$ricerca%'
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    SELECT ID ,TITOLO, BODY
    FROM tabella
    WHERE TITOLO LIKE '%$ricerca%' OR BODY LIKE '%$ricerca%'
    ORDER BY IF(TITOLO LIKE '%$ricerca%', 0, 1))

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.