Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    292

    cercare dentro un campo e prelevare un numero

    Ciao ragazzi,
    come dice il titolo avrei bisogno di cercare dentro un campo ma Mysql deve prelevare solo un numero (quello che voglio cercare) per ogni record, forse non sono stato molto chiaro ma per farvi capire meglio qui di seguito potete trovare un esempio:

    l'utente cerca il numero 8

    così myql lo cerca dentro il campo "cerca_prod"

    ora supponiamo che il mio db sia strutturato così

    ID | CERCA_PROD

    1 | 2:#:4:#:15:#:1:#:8

    2 | 2:#:4:#:15:#:1:#:8

    3 | 2:#:4:#:15


    tra tutti i numeri il sistema mi deve restituire che ha trovato il numero 8 sia nel record con ID 1 e sia con l'ID 2


    è possibile farlo in php e mysql? come potete vedere ogni numero presente nel record contiene un separatore ":#:" magari si potrebbe sfruttare per separare i numeri ed estrapolarne quello cercato.


    Grazie

    M4tt86

  2. #2
    Perchè hai strutturato il database in quel modo? Viola le regole della normalizzazione.

    Crea un'altra tabella con i codici prodotto e mettile in relazione.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    292
    purtroppo non sono stato io perchè sto lavorando su un progetto già realizzato da un altro, e adesso il cliente ha la necessità di integrare una ricerca, è possibile farla? non c'è un metodo per cercare anche se c'è questa struttura? Ne ho davvero bisogno.

  4. #4
    Puoi usare CONCAT() e LIKE() per effettuare una ricerca di stringhe indicando i due delimitatori.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    292
    CONCAT non serve ad unire più campi? nel mio caso il campo è uno solo. In caso potresti farmi un esempio?

  6. #6
    Originariamente inviato da m4tt86
    CONCAT non serve ad unire più campi? nel mio caso il campo è uno solo. In caso potresti farmi un esempio?
    Se ci pensi un po' sono certo che capirai perchè è necessario l'uso di CONCAT().

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    292
    ti costa molto farmi un esempio?

  8. #8
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    SELECT ID FROM TABELLA WHERE FIND_IN_SET( 8, REPLACE( CERCA_PROD, ':#:', ',' ) )>0

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.