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

    ricerca specifica in mysql con php

    Ciao a tutti,
    Sto costruendo un motore di ricerca interno, per cercare all'interno di un db mysql per un sito.
    Sono a buon punto ma mi sono incagliato:

    Nel database, in un campo specifico e per ogni utente, vengono registrate delle stringhe di 9 numeri dallo 0 al 3 separate da virgole, ad esempio

    0,0,0,0,0,0,0,0,0
    1,2,0,0,0,0,0,0,0
    3,2,0,0,0,0,0,0,0
    3,0,0,0,1,0,0,0,3

    etc.

    Nella pagina di ricerca, tramite radio button, l'utente inserisce i dati di ricerca e genera una stringa identica (9 numeri dallo 0 al 3 separati da virgola).

    Adesso viene il problema:

    Poniamo che la stringa generata dall'utente per la ricerca sia: 1,1,0,1,0,0,0,0,0

    Quello che voglio ottenere è una query che cerchi nel database tutte le stringhe che ABBIANO OGNI NUMERO MAGGIORE O UGUALE A QUELLO DELLA STRINGA INSERITA DALL'UTENTE, NELLA STESSA POSIZIONE.
    Ad esempio andrebbero bene stringhe come:
    3,2,0,1,0,1,0,0,0
    1,2,0,1,0,3,0,0,1
    1,1,0,3,0,0,0,1,0
    3,1,0,3,0,2,0,0,0

    Non andrebbero bene invece stringhe come:
    0,1,0,1,0,3,0,0,2
    1,0,0,0,2,0,0,3,0
    0,1,0,1,2,0,0,3,0

    cioè quelle in cui il rispettivo numero è più basso di quello corrispondente inserito dall'utente.

    Spero di essere stato chiaro e spero possiate aiutarmi.
    Grazie a tutti.

  2. #2
    io credo che potresti, utilizzando una stored-function nel DB:
    1) convertire quella stringa in un array: 1,0,1,1,0 ==> [1, 0, 1, 1, 0]
    2) procedere col confronto elemento per elemento, al primo "false" ti fermi e passi alla riga successiva
    Administrator of NAMDesign.Net

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.