Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    466

    [PHP/MYSQL] Ricerca su tabella

    In una tabella ho un campo che in cui vengono inseriti i servizi offerti da un fornitore.

    Per esempio il fornitore Luigi offre i seguenti sevizi:electronic,general purpouse, management, transport.

    I dati nella cella sono inseriti proprio così: electronic,general purpouse, management, transport.

    Chi usa l' applicazione seleziona da una lista multiselezione i tipi di seervizi che vuol ricercare ad esempio electronic, trasport.

    Non riesco a fare in modo che la variabile $prd="electronic, trasport" mi dia come risultato la riga che contiene electronic,general purpouse, management, transport.

    Mi date una mano?

    Grazie, Mc

  2. #2
    prova a fare una select dove per le condizioni usi LIKE
    esempio
    SELECT fornitore FROM mia_tabella WHERE servizi like '%electronic%' and servizi like '%trasport%'

    Non sono sicuro, ma credo che like si possa anche concatenare
    tipo
    SELECT fornitore FROM mia_tabella WHERE servizi like '%electronic%trasport%',
    ma non ne sono sicuro
    .follow the white rabbit.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    466
    Ho provato con like, ma non mi restituisce sempre quello che dovrebbe.

  4. #4
    cosa ti restituisce?
    .follow the white rabbit.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    466
    In pratica non mi da nessun risultato se i due termini di ricerca sono agli estremi.

    LA query fa Select...........where priduct LIKE '%$prod%'

    Ed $prod contiene electronic, transport.

  6. #6
    ascolta, se la descrizione è un unica stringa asci allora puoi provare un metodo forse un po dispendioso ma sicuro.
    fai la select con mysql_fetch_array...
    Prendi il campo descrizione,
    lo passi all'explode(),
    fai un controllo di uguaglianza con l'array che ti ritorna(dovrebbe esserci una funzione che ti avverte o meno della presenza di un elemento in un array),
    se il risultato è positivo accetti il risultato della query.
    Oppure prova a mettere LIKE '%,trasport,%'
    .follow the white rabbit.

  7. #7
    scusa, ho letto adesso i risultati della quello che passi con like...
    credo che mettendoli uniti lui li interpreti come un unica stringa,quindi li ricerca uniti.
    prova a separarli
    .follow the white rabbit.

  8. #8
    Non mi pare ci sia bisogno di unirli per fare una ricerca del genere,anzi
    .follow the white rabbit.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    466
    Mi fai un esempio?

    Grazie mille per il tempo che mi dedichi.

  10. #10
    mchorney,

    Se sono i dati che passi con la famosa select multipla, e non sai ne se ci sono ne quanti sono, scorri l'array $_POST[scelta][] con foreach e assegna un % alle stringhe, oppure metti il % nel value della option....

    ciao.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.