Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    34

    NULL in find_in_set (mysql)

    ciao a tutti
    domanda rapida, ma complessa.

    Query su Db mysql

    select prodotti.id_pro, group_concat(nome_dati_pro) as elenco
    FROM group by id_pro
    HAVING
    find_in_set($id_ambiente,elenco) AND
    find_in_set($id_colori,elenco)


    a volte $id_colori per esempio può NON aver valore, però in teoria la query dovrebbe trovare tutti gli altri campi dove $id_ambiente è presente in "elenco"

    ora per ovviare a questo problema volevo far si che $colori dicesse alla query di cercare i campi CHE NON sono nulli. Ho provato con

    $id_colori = 'IS NOT NULL'
    find_in_set($id_colori,elenco)

    e chiaramente non funziona.
    In finale c'è modo di passare al find_in_set qualcosa per dirgli che il campo deve contenere qualsiasi tipo di stringa (cioè non deve essere vuoto)?

    Spero di essermi spiegato grazie atutti

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non puoi verificare a monte il contenuto di $id_colori e, nel caso sia vuoto, escludere quella clausola dalla ricerca?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    34
    Originariamente inviato da nicola75ss
    Non puoi verificare a monte il contenuto di $id_colori e, nel caso sia vuoto, escludere quella clausola dalla ricerca?
    sicuramente si ... ma come escluderlo dalla query? non penso si possa usare un If prendendo un valore esterno .... tu hai qualche diea?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da stevet
    sicuramente si ... ma come escluderlo dalla query? non penso si possa usare un If prendendo un valore esterno .... tu hai qualche diea?
    Tramite l'if verifichi se quel valore ti serve o meno.
    In caso affermativo in fase di costruzione della query concateni alla stringa sql l'and e ciò che segue.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    34
    Originariamente inviato da nicola75ss
    Tramite l'if verifichi se quel valore ti serve o meno.
    In caso affermativo in fase di costruzione della query concateni alla stringa sql l'and e ciò che segue.

    tipo così ...

    select prodotti.id_pro, group_concat(nome_dati_pro) as elenco
    FROM group by id_pro
    HAVING
    find_in_set($id_ambiente,elenco) AND
    if($id_colori != '',find_in_set($id_colori,elenco),'')


    grazie

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ti posto un esempio

    Codice PHP:
    $id_colori 2;
    $id_ambiente 3;
    $query "select prodotti.id_pro, group_concat(nome_dati_pro) as elenco
              FROM TABELLA
              group by id_pro
              HAVING
              find_in_set(
    $id_ambiente,elenco)";
    echo 
    $query;
    echo 
    '
    '
    ;
    if(
    $id_colori != ''
      
    $query.= " and find_in_set($id_colori,elenco)";
    echo 
    $query

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    34
    Originariamente inviato da nicola75ss
    Ti posto un esempio

    Codice PHP:
    $id_colori 2;
    $id_ambiente 3;
    $query "select prodotti.id_pro, group_concat(nome_dati_pro) as elenco
              FROM TABELLA
              group by id_pro
              HAVING
              find_in_set(
    $id_ambiente,elenco)";
    echo 
    $query;
    echo 
    '
    '
    ;
    if(
    $id_colori != ''
      
    $query.= " and find_in_set($id_colori,elenco)";
    echo 
    $query

    azz ... bravo veramente ... è esatta ... ti ringrazio veramente non ci sarei mai arrivato
    ciaoooooooooo

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Mi sembra strano che all'interno di un elenco tu cerchi variabili diverse ma se va bene a te tanto meglio.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    34
    Originariamente inviato da nicola75ss
    Mi sembra strano che all'interno di un elenco tu cerchi variabili diverse ma se va bene a te tanto meglio.
    non bene no ... ma in realtà è una query ereditata che va mantenuta

    GRAZIE MILLE ancora

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.