Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    28

    mysql - indicare tutti i valori

    Ho bisogno di indicare a una query mysql, tutti i valori, come l'* (asterisco) di php.
    Ad esempio:
    select * from mytable where nome="tutti i valori"

    Sicuramente è molto banale, ma in questo momento mi sfugge.

  2. #2

    Re: mysql - indicare tutti i valori

    Originariamente inviato da almare
    Ho bisogno di indicare a una query mysql, tutti i valori, come l'* (asterisco) di php.
    Ad esempio:
    select * from mytable where nome="tutti i valori"

    Sicuramente è molto banale, ma in questo momento mi sfugge.
    Devi usare LIKE.

    WHERE NOME LIKE '%'

    % = tutti i caratteri, qualsiasi carattere.
    _ = 1 carattere qualsiasi

    tra apici perche' e' una stringa.

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

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non puoi anche fare
    select nome from nomeTabella;

    oppure

    select distinct nome from nomeTabella;
    per non avere ripetizioni

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    28
    "select * from nomeTabella"
    potrebbe funzionare, ma io ho bisogno di un carattere che mi indica tutti i valori, per rendere universale la query.

    Senza like non si può fare niente?
    Non c'è qualcosa come un'asterisco?
    Per esempio, una cosa del tipo "...where nome=*"; è solo un esempio per capirci...

  5. #5
    "LIKE" si usa per i caratteri jolly .. ed i caratteri jolly sono % e _ ..dov'e' il problema?


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

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    28
    Ho fatto questa query:
    SELECT * FROM works WHERE id_customer='4' and data='2005-07'
    posso sostituirla con
    SELECT * FROM works WHERE id_customer LIKE '4' and data LIKE '2005-07'?
    Anche in termini di efficienza, prestazioni e correttezza del linguaggio.

    Adesso ho fatto uno script che mi crea dinamicamente la query da eseguire. Quindi se non ho i valori id_customer e date, mi esegue solo: "select * from works", altrimenti a seconda dei parametri passati aggiunge questi filtri alla query, ad esempio "select * from works where id_customer='4'".
    Visto che alla pagina si ha accesso + volte da parti diverse, ho pensato di eseguire sempre la query completa "SELECT * FROM works WHERE id_customer='$x' and data='$y'" e nel caso devo annullare i filtri(del WHERE) e far vedere tutto, metto il carattere che indica qualsiasi.
    cosa dici?

    Nella query sopra alla fine dove c'è "data='2005-07'";
    il campo data è fatto di anno-mese-giorno, io dovrei interrogare solo anno-mese = 2005-07(che è dinamico e viene da una variabile).
    come posso fare?

  7. #7
    comincio dal fondo:
    Nella query sopra alla fine dove c'è "data='2005-07'";
    il campo data è fatto di anno-mese-giorno, io dovrei interrogare solo anno-mese = 2005-07(che è dinamico e viene da una variabile).
    come posso fare?
    codice:
    $data = '2005-07';
    
    WHERE data like '$data-%'
    Oppure
    Visto che alla pagina si ha accesso + volte da parti diverse, ho pensato di eseguire sempre la query completa "SELECT * FROM works WHERE id_customer='$x' and data='$y'" e nel caso devo annullare i filtri(del WHERE) e far vedere tutto, metto il carattere che indica qualsiasi.
    codice:
    $x = isset($_POST['id'] ? $_POST['id'] : '%' ;
    $y = isset($_POST['data']  ?  $_POST['data'] : '%';
    
    WHERE id_customer like '$x' 
    AND data like '$y-%'

    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.