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

    [MySQL]Cerca numero esatto in stringa

    Ciao,
    devo fare una "semplice" query di ricerca, ciò che la complica è il formato di un campo:
    Codice PHP:
    "SELECT * FROM TABELLA WHERE nomecampo LIKE %".$valore."% " 
    Il campo "nomecampo" è una stringa di interi separati da ";" che può anche essere fatta così:
    1;10;100;1000
    a questo punto se sto cercando il 1000 no problem, ma se cerco gli altri me li trova più volte !!
    Come posso risolvere il problema ??
    C'è un modo per effettuare la ricerca in modo che proprio l'SQL identifichi dei valori interi e non semplicemente delle stringhe ??
    A quel punto se valore è 10 la parte di stringa 100 o 1000 non verrebbero considerate...!!
    :master:
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  2. #2
    Secondo la teoria dei database, un campo non dovrebbe mai contenere valori multipli, sarebbe sempre meglio utilizzare una sotto-tabella.

    Comunque puoi risolvere il problema modificando la query in questo modo:

    Codice PHP:
    "SELECT * FROM TABELLA WHERE CONCAT(';', nomecampo, ';') LIKE %;".$valore.";%" 

  3. #3
    prova cosi ma non sono sicuro:

    Codice PHP:
    "SELECT * FROM TABELLA WHERE (nomecampo LIKE ('%;$valore;%'))" 
    3/6/2003 è morto l'angelo della mia vita..
    www.markwebinformatica.net
    My BLOG

  4. #4
    Ti ringrazio, mi devo adattare a quel che trovo sul database pur sapendo che valori multipli non ci dovrebbero essere :rollo:
    Wow...però non ero a conoscenza di 'CONCAT' !!
    Grazie !!
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

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