Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Problema con query mysql

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    47

    Problema con query mysql

    Ciao a tutti,
    qualche anima buona sa darmi una soluzione a questo quesito?
    Ho un database con alcuni campi, e fino ad ora non ho avuto nessun problema con la ricerca.
    Sto implementando per� una sezione per la ricerca di una determinata parola che potrebbe trovarsi in vari campi e per fare questo ho inserito il codice (di color rosso) nella costruzione dinamica della query

    Problema:
    inserendo nel form una data o un'intervallo di date, un cliente, un autista o qualsiasi combinazione di opzioni di ricerca, mi vengono restituiti tutti i record corrispondenti alla query fatta, mentre se inserisco una parola da cercare e negli altri campi e seleziono ad esempio un'autista per vedere quella parola cercata con quel determinato autista, il risultato � che mi recupera si tutti i record con quella determinata parola che devo cercare, ma anche per tutti i nomi degli autisti e non solo quello selezionato nel form.

    Cosa mi sta sfuggendo?

    Grazie in anticipo per eventuali risposte sperando di essermi spiegato bene.
    Federico

    Codice PHP:

    $where 
    "WHERE Data BETWEEN '"$data1."' AND  '" .$data2.  "'";

    if (
    $ricerca_cliente !='') {
    $where .= " AND Cliente LIKE '" '%' $ricerca_cliente '%' "'" ;}

    if (
    $ricerca_autista !='') {
    $where .= " AND Autista = '" $ricerca_autista "'";}

    if (
    $ricerca_mezzo !='') {
    $where .= " AND Mezzo = '" $ricerca_mezzo "'";}

    if (
    $ricerca_nome !='') {
    $where .= " AND Nome = '" $ricerca_nome "'";}

    if (
    $cerca_parola !='') {
    $where .= " AND PickUp LIKE '" .'%'.$cerca_parola.'%'"'or DropOff LIKE'" .'%'.$cerca_parola.'%'"'or Nome LIKE'" .'%'.$cerca_parola.'%'"'or Volo_Treno LIKE'" .'%'.$cerca_parola.'%'"'or Note1 LIKE'" .'%'.$cerca_parola.'%'"'";} 

  2. #2
    hai messo degli OR che ammazzano tutti gli AND. riformula la query così

    WHERE condizione1 AND condizione2 AND (condizione3 OR condizione4)

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    47
    Grazie per la risposta, ma non capisco come intendi.
    L'ultimo if come devo impostarlo se la parola che cerco pu� trovarsi in un qualsiasi campo?
    Non dovrebbe essere fatta la query con OR per una ricerca di questo tipo?
    Grazie

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    47
    Quote Originariamente inviata da optime Visualizza il messaggio
    sì, ma tra parentesi
    ...aiuto!!! mi sono perso con la corretta sintassi.
    Mi ritorna errore

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    47
    Risolto...mettevo gli apici ma non servivano.
    Così funziona perfettamente.

    Codice PHP:
    if ($cerca_parola !='') {$where .= " AND ( PickUp LIKE '" .'%'.$cerca_parola.'%'"'or DropOff LIKE'" .'%'.$cerca_parola.'%'"'or Nome LIKE'" .'%'.$cerca_parola.'%'"'or Volo_Treno LIKE'" .'%'.$cerca_parola.'%'"'or Note1 LIKE'" .'%'.$cerca_parola.'%'"' )";} 
    Grazie

  7. #7

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