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

    [php/mysql] search query

    Ciao a tutti,
    ho una query che tramite un campo di testo inviato dall'utente mi ritorna tutti i record con il teso presente nel quotidiano e titolo.
    Nei record è presente una colonna "category" che indica la categoria di appartenenza (cominicati, rassegna, comunicazioni).
    Vorrei dare la possibilità all'utente di eseguire la ricerca solamente su determinate categorie.

    Al momento la query è scritta così, ma ritorna tutti i risulati indistintamente dalla categoria

    Codice PHP:
    $searchQuery "";
        
    $query "";
        
    $parole explode(" ",$_POST['searchValue']);
        foreach (
    $parole as $word) {
        
    $query .= ($query == "") ? "quotidiano LIKE '%".$word."%' OR titolo LIKE '".$word."'" " AND quotidiano LIKE '%".$word."%' OR titolo LIKE '".$word."' ";
        }
        
    $searchQuery mysql_query('SELECT *, DATE_FORMAT(data,"%d/%b/%Y") as data FROM blu_archivio WHERE '.$query.' AND category = "comunicati" order by data desc') or die(mysql_error()); 

  2. #2
    forse bastano 2 parentesi ma non ne sono sicuro. cmq prova
    Codice PHP:
    $searchQuery ""
        
    $query ""
        
    $parole explode(" ",$_POST['searchValue']); 
        foreach (
    $parole as $word) { 
        
    $query .= ($query == "") ? "quotidiano LIKE '%".$word."%' OR titolo LIKE '".$word."'" " AND quotidiano LIKE '%".$word."%' OR titolo LIKE '".$word."' "
        } 
        
    $searchQuery mysql_query('SELECT *, DATE_FORMAT(data,"%d/%b/%Y") as data FROM blu_archivio WHERE [B]([/B] '.$query.'[B])[/B]  AND category = "comunicati" order by data desc') or die(mysql_error()); 

  3. #3
    Cè ancora qualcosa che non funziona però.
    Con le parentesi mi ritornano tutti i risultati che contengono quella categoria anche senza le parole specificate per i termini di ricerca.

    Codice PHP:
    $searchQuery "";
        
    $query "";
        
    $parole explode(" ",$_POST['searchValue']);
        foreach (
    $parole as $word) {
        
    $query .= ($query == "") ? "quotidiano LIKE '%".$word."%' OR titolo LIKE '".$word."'" " AND quotidiano LIKE '%".$word."%' OR titolo LIKE '".$word."' ";
        }
        
    $searchQuery mysql_query('SELECT *, DATE_FORMAT(data,"%d/%b/%Y") as data FROM blu_archivio WHERE ('.$query.') AND category = "'.$comunicati.'" OR category = "'.$rassegna.'" OR category = "'.$comunicazione.'" order by data desc') or die(mysql_error()); 
    :master:

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.