• User Newbie

    [PHP-MYSQL] Problema con spazi nella stringa

    Ciao a tutti,
    ho un 'piccolo' problema...

    Sto facendo un progetto per la gestione del magazzino della scuola, da questo sito i docenti possono cercare e riservare i vari articoli presenti (gessi, spugne, mappette, pennarelli, ecc) ora:
    Ho creato la pagina cerca_articolo.php nella quale l'utente ha la possibilità di cercare gli articoli in base al codice (edit) oppure in base al nome (edit) oppure in base alla descrizione (edit) oppure in base alla categoria (listbox); una volta che l'utente inserisce i campi che vuole le variabili vengono passate a articolo_trovato.php che cerca in base ai criteri immessi.
    Ora vorrei riuscire a perfezionare la mia ricerca facendo si che riconosca anche gli spazi:

    es. (di come funziona ora)
    **
    tab_articolo (codiceArt int, nome varchar(20));
    insert into tab_articolo (codiceArt, nome, descrizione) values (5,'fogli A4');
    **

    cerca_articolo.php

    criterio di ricerca Nome: fo
    criterio di ricerca Nome: f
    criterio di ricerca Nome: g

    articolo_trovato.php
    Articoli trovati: fogli A4

    es. (di come vorrei che funzionasse)
    **
    tab_articolo (codiceArt int, nome varchar(20));
    insert into tab_articolo (codiceArt, nome, descrizione) values (5,'fogli A4');
    **

    cerca_articolo.php
    criterio di ricerca Nome: fo a ('fo' SPAZIO 'a' -> 'fo' di fogli ed 'a' di A4)

    articolo_trovato.php
    Articoli trovati: fogli A4

    Il problema è che quando io provo la seconda ricerca (fo a) mi dice che non trova risultati...
    il codice che ho implementato per la ricerca è il seguente:

    
      $where = "1"; 
      if(isset($txt_codart)){
        if(TRIM($txt_codart)!=""){
          $where = $where.(" AND articolo.codart LIKE '%$txt_codart%' ");
        }
      }
    
      if(isset($txt_nome)){
        if(TRIM($txt_nome)!=""){
          $where = $where.(" AND articolo.nome LIKE '%$txt_nome%' ");
        }
      }
    
      if(isset($txt_descriz)){
        if(TRIM($txt_descriz)!=""){
          $where = $where.(" AND articolo.descriz LIKE '%$txt_descriz%' ");
        }
      } 
    
      if (!($sel_categoria=='*')){
        $where = $where . " AND categoria.codcat=".$sel_categoria; 
      }
    
      $select="SELECT articolo.codart,articolo.nome,articolo.descriz
                  FROM articolo 
                  INNER JOIN categoria 
                  ON articolo.codcat=categoria.codcat 
                  WHERE ".$where." group by articolo.codart";
    
    

    Qualcuno sa aiutarmi a riuscire a fare una ricerca più corretta?
    Grazie mille!!!!!

    Salutoni
    Sve87