Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Discussione: risultati query sql

  1. #1

    risultati query sql

    ciao a tutti.
    ho questa query

    $query_Recordset1 = "SELECT * FROM tabella WHERE testo like '%".$cerca."%' ORDER BY autore, libro, capitolo";

    $cerca è la variabile passata dal form di ricerca..

    tutto funziona bene ma solo se si cerca una singola parola e più parole - consecutive - all'interno della tabella.
    Ora, vorrei sapere come sistemare la query per avere dei risultati anche se le parole cercate si trovano in ordine sparso.

    thanx

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Questo è solo un esempio, mancano i controlli sul n° min di lettere e se si vuole scegliere AND o OR.

    Codice PHP:
    $like="";
    $cerca="parole da cercare";
    $array_cerca=explode(' ',$cerca);
    foreach(
    $array_cerca as $t$like.=" OR testo LIKE '%$t%' ";
    $query=SELECT FROM tabella WHERE 0 ".$like

  3. #3
    ok provo e ti faccio sapere

  4. #4
    funziona benissimo!
    grazie mi hai risolto un bel problema

    facoltativo: puoi postare anche i controlli AND e OR con il controllo dei caratteri minimi?

    cià

  5. #5
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Codice PHP:
    $minchar=3//numero minimo di caratteri
    if( $operator=="AND"$like="1";
    else if( 
    $operator=="OR"$like="0";
    $cerca="parole da cercare";
    $array_cerca=explode(' ',$cerca);
    foreach(
    $array_cerca as $t){ 
    if( 
    strlen($t)>=$minchar $like.=$operator testo LIKE '%$t%'";
    }
    $query=SELECT FROM tabella WHERE ".$like
    Dove la variabile $operator la puoi mandare dal form e vale OR o AND.

  6. #6
    ok, provo appena posso
    grazie di nuovo

    già che si sono.. auguri di Buona Pasqua

    cià

  7. #7
    ho provato ma mi dà un errore di sintassi con questa query

    $query=SELECT * FROM tabella WHERE ".$like;


    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

    se la modifico così funziona ma solo con AND

    $query=SELECT * FROM tabella WHERE 1".$like;

    mentre OR non va proprio.. mi mostra tutta la tabella, anche le righe che non hanno il termine cercato

    help

  8. #8
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Metti
    Codice PHP:
    echo $query 
    e posta cosa ti stampa (sia con OR che con AND)

  9. #9
    ok, cmq avevo sbagliato col copia incolla mancava un "

    $query="SELECT * FROM tabella WHERE ".$like;

    ma non funge lo stesso.., provo con echo e posto appena fatto.
    cià

    [ot]per ringraziarti per tutto il tempo che ti sto facendo perdere se hai un sito inseriscilo nella directory che ho fatto,
    il mio sito è in firma[/ot]

  10. #10
    la query:
    "SELECT * FROM tabella WHERE 1". $like; (il valore è 0 o 1)

    la echo delle query

    SELECT * FROM tabella WHERE 0 and testo LIKE '%ciao%'
    SELECT * FROM tabella WHERE 0 or testo LIKE '%ciao%'

    se cambio e metto 1
    SELECT * FROM tabella WHERE 1 and testo LIKE '%ciao%'

    questa che segue (con or) è l'unica query che sembra funzionare.. ma mi restituisce tutta la tabella.. e il termine ciao non è proprio presente!

    SELECT * FROM tabella WHERE 1 or testo LIKE '%ciao%'

    ****

    help!

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.