Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    6

    Select: ordine e spazi nella query

    La query sottostante viene "riempita" da un form


    $query = "SELECT * FROM `volumi` WHERE
    `Titolo` LIKE '%". $Name2."%'
    and `Autore` LIKE '%". $Name."%'
    (`Soggetto01` LIKE '%". $Name6."%'
    or `Soggetto02` LIKE '%". $Name6."%'
    or `Soggetto03` LIKE '%". $Name6."%')";

    In particolare ipotizzando di avere un titolo I FILM DI MASTROIANNI

    La query funziona regolarmente a patto di digitare FILM oppure MASTROIANNI oppure FILM DI MASTROIANNI oppure FILM%MASTROIANNI.

    La query non funziona se si digita FILM MASTROIANNI nè tantomeno se si digita non nell'ordine del titolo, ad esempio MASTROIANNI%FILM oppure MASTROIANNI FILM

    Come posso risolvere il problema???
    GRAZIE

  2. #2

    Re: Select: ordine e spazi nella query

    Originariamente inviato da penna65
    La query sottostante viene "riempita" da un form


    $query = "SELECT * FROM `volumi` WHERE
    `Titolo` LIKE '%". $Name2."%'
    and `Autore` LIKE '%". $Name."%'
    (`Soggetto01` LIKE '%". $Name6."%'
    or `Soggetto02` LIKE '%". $Name6."%'
    or `Soggetto03` LIKE '%". $Name6."%')";

    In particolare ipotizzando di avere un titolo I FILM DI MASTROIANNI

    La query funziona regolarmente a patto di digitare FILM oppure MASTROIANNI oppure FILM DI MASTROIANNI oppure FILM%MASTROIANNI.

    La query non funziona se si digita FILM MASTROIANNI nè tantomeno se si digita non nell'ordine del titolo, ad esempio MASTROIANNI%FILM oppure MASTROIANNI FILM

    Come posso risolvere il problema???
    GRAZIE
    Ciao
    se non ho capito male vuoi fare una ricerca in "Titolo" di Name2 ma per parola e non per stringa completa...
    Potresti fare uno split di Name2 usando lo spazio come carattere separatore e poi con un ciclo ripetere "titolo like ..." per ogni elemento dell'array (e mettendo degli OR in mezzo ovviamente!)
    *-*-*-*-*-*-*-*-*-*-*-*
    Non può piovere per sempre
    *-*-*-*-*-*-*-*-*-*-*-*

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    6
    grazie dell'aiuto, ma non ho trovato molto (anzi non ho trovato nulla) in giro sul comando split. Potresti darmi qualche dritta in più????
    grazie ancora

  4. #4
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    :rollo: split funziona dividendo una stringa secondo un carattere o un insieme di caratteri o spazio, detto "pattern", ed eventualmente dividendole in un numero di parti deciso dall'aurtore:
    questi nel caso tu non sappia il numero delle parti:
    Codice PHP:
    $array = array (split($stringa,' ')); 
    In questo modo il tutto viene salvato in un array in cui ogni elemento corrisponde ad una parola della stringa, ovviamente cambiando il secondo argomento di split, puoi modificare il carattere, dividendo la stringa ogni volta che incontra la lettera "e", per esempio, ma sappi che questa verrà eliminata.
    Se invece conosci il numero delle parti, per esempio 3:
    Codice PHP:
    list($uno$due$tre) = split ($stringa' ','3'); 
    In questo caso devi mettere tante variabili quante sono le parti in cui vuoi dividere la stringa, e poi modificare il valore '3'.

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.