[php] Come gestire i tags

Discussione in 'PHP' iniziata da Marcolino92, 16 Maggio 2019.

Tag (etichette):
  1. Marcolino92

    Marcolino92 Nuovo Utente

    Registrato:
    6 Novembre 2012
    Messaggi:
    15
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Ciao ragazzi, mi trovo davanti al dilemma di dover gestire i comuni tags di un post, il mio dilemma è quello di non riuscire a comprendere come inviarli al database scomposti singolarmente e quindi poi poterli prelevare.

    Non so se mi sono spiegato bene, ma se creo un campo input dove è possibile inviare questi tags, quindi magari separati da virgola, come posso farli registrare al database scomposti singolarmente? Visto che verranno invece inviati come unico contenuto.

    Utilizzo Codeigniter se magari esiste una specifica funzione.
    Grazie a chiunque vorrà aiutarmi.
     
  2. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    818
    Mi Piace Ricevuti:
    42
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    Per Codeigniter l'operazione base di Inserimento è questa, in resolvModel va inserita la gestione ed il trattamento dei dati!
    PHP:
    /*********************Model*/
    public $filter=[];
    private 
    $current_table='nome_tabella';
    public 
    $data=[];
    public function 
    get(){
         foreach(
    $this->filter as $k=>$v){
               
    $this->db->where($k,$v);
         }

         
    $this->data=$this->db->get($this->current_table)->result_array();
         return 
    $this->resolvModel('get');
    }


    public  function 
    create(){
        
    $this->data=$this->input->post();
        
    $this->resolvModel($this->data,'insert');
        
    $this->db->insert($this->current_table,$this->data);
        
    $this->filter=['id'=>$this->db->insert_id()];
        return 
    $this;
    }

    public function 
    resolvModel($type='insert'){

       switch(
    $type){
              case 
    'insert':$this->data['tags']=json_encode(explode(',',$this->data['tags']),128);
                   break;
              case 
    'update':$this->data['tags']=json_encode(explode(',',$this->data['tags']),128)
                   break;
              default:
               foreach(
    $this->data as $k=>$v){
                           
    $this->data[$k]['tags']=join(',',json_decode($data['tags']));
               }        
       }
    return 
    $this;
     
    }

    /***************Controller*/

    public function store(){
        
    print_r($this->nomeModello->create()->get()->data);die;
    }



     
Sto caricando...

Condividi questa Pagina