2012-07-16 15 views
5

C'è un modo per inviare dati dal controller per visualizzare. quello che sto facendo è che l'utente ha l'opzione di link e in base ai link clic dell'utente i dati corrispondenti vengono passati al controller e un'altra vista viene caricata dal controller corrispondente a quel collegamento. Ma non so come farlo. Sto usando falò Ecco il mio codice di controllo: -invio del parametro dal controller per visualizzare

function my_tickets() { 
     $username = $this->auth->username(); 
     $this->load->model('helpdesk_model'); 
     $result_set = $this->helpdesk_model->my_tickets($username); 
     foreach($result_set->result() as $data) { 
      $title[] = $data->title; 
      $category[]=$data->category; 
      $priority[]=$data->priority; 
      $date[]=$data->date; 
      $post_status[]=$data->post_status; 
      $userfile_path[] = $data->userfile_path; 
     } 
     $arraysize=count($title); 
     Template::set('arraysize',$arraysize); 
     Template::set('title',$title); 
     Template::set('category',$category); 
     Template::set('priority',$priority); 
     Template::set('date',$date); 
     Template::set('post_status',$post_status); 
     Template::set('username',$this->auth->username()); 
     Template::set('userfile_path',$userfile_path); 
     Template::render(); 
    } 
    function full_post(){ 
     Template::render(); 
    } 
    } 

Nella mia parte il modello: -

function my_tickets($username){ 
     $this->db->select('title,userfile_path,category,priority,date,post_status'); 
     $this->db->where('username',$username); 
     $result = $this->db->get('tbl_tickets'); 
     return $result; 
     } 

mio punto di vista sono: -

<?php 
$arraysize =Template::get('arraysize'); 
$title[] = Template::get('title'); 
$category[]=Template::set('category'); 
$priority[]=Template::set('priority'); 
$date[]=Template::set('date'); 
$post_status[]=Template::set('post_status'); 
$username = Template::set('username'); 
$userfile_path = Template::set('userfile_path'); 
?> 
<h3>Total Number Of posts :&nbsp; <?php echo $arraysize; ?> </h3> 
<h2>Your Posts</h2> 
<?php echo "serail. title | category | priority | date of starting post | post status "; ?> 
<?php 
    for ($i=0; $i <$arraysize; $i++) { 
    ?> 
    <p> <?php echo ($i+1).". ".$title[$i]." | ".$category[$i]." | ".$priority[$i]." | ".$date[$i]." | ".$post_status[$i]; 
      echo "<a href=\"/helpdesk/full_post\">Click to see </a>"; 
     ?> 
    </p> 
    <?php 
    } 
    ?> 

Nella mia funzione di regolatore full_post Voglio il parametro che l'utente fa clic nel collegamento click to see. L'helpdesk è il nome del mio controller. helpdesk_model è il nome del mio modello. e my_tickets è il mio nome di visualizzazione ..

risposta

1

Sto facendo questo con l'aiuto di modulo utilizzando campi nascosti: - ho un po 'cambiare la mia pagina di visualizzazione in questo modo: -

for ($i=0; $i <$arraysize; $i++) { 
    echo "<p>".($i+1).". ".$title[$i]." | ".$category[$i]." | ".$priority[$i]." | ".$date[$i]." | ".$post_status[$i]."</p>"; 
    echo form_open('/helpdesk/full_post'); 
    echo form_hidden('path',$userfile_path[$i]); 
    echo form_submit('submit', 'click to see'); 
    echo form_close(); 
    } 

e Nella pagina Controller che sto facendo: -

function full_post(){ 
     Template::set('path',$this->input->post('path')); 
     Template::render(); 
     } 

questa è la cosa di cui ho bisogno, è un buon modo per farlo ..? C'è qualche altra idea migliore per farlo ...?

0

Creare una funzione controller con parametro e fornire i collegamenti con il parametro in esso.

echo anchor('controller/functionName/parameter','display text'); 

function functionName($parameter ='') 
{ 
    //Do something with the parameter here when user click on the displayed text. 
} 

Non sono sicuro, se questo è quello che vuoi, perché questa è una cosa molto semplice.

+0

No, non voglio questo. Voglio inviare un valore dalla vista al controller che il valore è il link cliccato dall'utente .. supponiamo che io abbia 3 link a, b e c, se l'utente fa clic su una voce verrà quindi chiamata la funzione controller e il valore corrispondente a a sarà passato dalla vista a quella funzione – avinashse

+0

si che si può fare usando la tecnica di cui sopra. Se crei un link a http://yoursite.com/controller/function/a, verrà passato alla funzione. Lo stesso modo può avere un altro link b. Intendi passare con ajax? – Nish

+0

in realtà non voglio passare i miei dettagli nel parametro, che è la cosa .. e no ajax visualizzerà il contenuto nella stessa pagina ma devo chiamare un'altra vista dal controller – avinashse

Problemi correlati