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

    Ricerca utenti con nomi "strani"

    Devo realizzare una pagina del sito che si occupi di trovare tutti gli utenti che iniziano per una certa lettera. La cosa va bene se un utente inzia per A, B, C e quindi potrei usare la sintassi (sempre se non erro..):

    SELECT DISTINCT (campi) FROM tabella WHERE valore LIKE='(lettera)%'

    Ma se un utente decidesse di chiamarsi:

    [°..:TheMaster:..°]

    (con tutti i segni prima e dopo quindi)come devo eseguire la query?
    E se peggio ancora si chiamasse:

    009Cyborg

    che faccio?
    qvantvm potem tantvm avde

  2. #2
    lettere e numeri li lasci così
    per tutto il resto puoi usare una query del tipo REGEXP "^[^A-Za-z0-9]+$

    (non son sicuro della sintassi era per darti una idea)
    ciao

  3. #3
    Fatto, ma non ho nessun risultato. Strano. Mi sa che la query è sbagliata. Mi dite qual'è la query per trovare un nome che inizi per delle lettere che inserisco nel form? Io sto usando questa sintassi ma non funge:

    "SELECT campi FROM tabella WHERE valore LIKE '$utente%'";

    E' esatta? il percentuale alla fine ci va? e l'uguale dopo Like?
    qvantvm potem tantvm avde

  4. #4
    Originariamente inviato da UnNamed
    "SELECT campi FROM tabella WHERE valore LIKE '$utente%'";

    E' esatta? il percentuale alla fine ci va? e l'uguale dopo Like?
    La sintassi e' esatta. trova qualunque carattere, al max ci potra' essere un problema di ordinamento alfabetico.

    % significa "qualsiasi carattere" si trovi dopo la stringa $utente. L'importante e' che sia racchiuso tra apici. il carattere = non ci vuole se si usa il carattere jolly ma solo per ricerche esatte e sostituisce il LIKE, non e' un complemento del LIKE.


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

  5. #5
    Allora il mio codice deve avere un'altro errore...
    qvantvm potem tantvm avde

  6. #6
    Originariamente inviato da UnNamed
    Allora il mio codice deve avere un'altro errore...
    stampa la query e metti la segnalazione di errore.

    Se la query la fai da phpmyadmin in questo modo deve funzionare:
    codice:
    SELECT * FROM tabella
    WHERE campo LIKE '[°..:TheM%'
    noto adesso che hai scritto where "valore" .... si suppone che "valore" sia il nome del campo .... giusto?

    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.