Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Ricerca mysql con più keywords

    Ciao a tutti,

    ho un piccolo problema con uno script per la ricerca in mysql.

    Ho un db in mysql con 6 colonne (autore,editore,argomento,euro,legatura,anno) in cui sono storati i dati di tutti i libri di un negozio. Ora ho creato una parte di gestione per aggiungere togliere e vedere cosa c'è nel database ma dovrei fare anche uno script per cercare più keywords.La pagina in html ha i 6 form e dovrei trovare il modo che se un utente cerca come autore "Dante alighieri" gli appaiono tutti i libri che hanno dante alighieri come autore ma se uno cerca "Dante alighieri" come autore ed euro "100" gli trova solo i libri di dante alighieri che costano 100 euro...essendo tutto nella stessa tabella ho pensato di fare una query diversa per ogni keyword in ogni colonna

    es.
    SELECT id FROM tabella WHERE argomento LIKE %$argomento%
    SELECT id FROM tabella WHERE autore LIKE %$autore%
    SELECT id FROM tabella WHERE legatura LIKE %$legatura%
    SELECT id FROM tabella WHERE editore LIKE %$editore%

    e poi mettere tutti i dati in un array, confrontare quali numeri id si ripetevano con array_count_values() e quelli che si ripetevano più volte erano i più attinenti.

    Non sono riuscito a farlo se qualcuno può suggerirmi un modo per confrontare la keyword di ogni campo per ogni colonna o sa qualche tutorial per una cosa del genere gliene sarò eternamente grato.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Usa AND in WHERE

    Per esempio, tutti i libri dell'editore Vattelappesca che costino meno di 50€

    SELECT * FROM tabella WHERE (editore = 'Vattelappesca' AND prezzo < 50)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    ç_ç grazie mille ora provo a buttar giù qualcosa con la query impostata così.
    Grazie mille!mi hai risolto un problemone.

  4. #4
    Se hai un form di selezione su 6 campi devi farti taaaaaaante query quante sono le combinazioni 0 e 1 di 6 campi.
    Cosi avrai esattamente i valori corrispondenti alla selezione effettuata.
    Io l'ho fatto........... ho ancora i crampi.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Nah... se le condizioni devono verificarsi per tutti i campi su cui stai effettuando una ricerca... vedi quali campi sono valorizzati e costruisci la condizione nel WHERE di conseguenza (ossia con AND, salvo specifiche diverse). Bastano poche righe di codice.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Azz.....allora ho buttato giù 800 righe di codice e potevo risolvere il tutto in molto meno tempo?

    E te pareva direbbe qualcuno

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 © 2024 vBulletin Solutions, Inc. All rights reserved.