2012-07-16 14 views
5

क्या नियंत्रक से डेटा भेजने के लिए कोई तरीका है। मैं जो कर रहा हूं वह यह है कि उपयोगकर्ता के पास लिंक का विकल्प होता है और लिंक के अनुसार उपयोगकर्ता संबंधित डेटा को नियंत्रक को पास कर देता है और दूसरा दृश्य उस लिंक से संबंधित नियंत्रक से लोड होता है। लेकिन मुझे नहीं पता कि यह कैसे करें। मैं यहाँ अलाव उपयोग कर रहा हूँ मेरी नियंत्रक कोड है: -नियंत्रक से पैरामीटर भेजने के लिए

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(); 
    } 
    } 

अपने मॉडल भाग में: -

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; 
     } 

मेरे विचार हैं: -

<?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 
    } 
    ?> 

मेरी full_post नियंत्रक समारोह में मैं पैरामीटर चाहता हूं जो उपयोगकर्ता click to see लिंक पर क्लिक करता है। हेल्पडेस्क मेरा नियंत्रक नाम है। helpdesk_model मेरा मॉडल नाम है। और my_tickets मेरा दृश्य नाम है ..

उत्तर

1

मैं इस फार्म की मदद से छिपा फ़ील्ड का उपयोग कर रहा हूँ

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(); 
    } 

और नियंत्रक पेज में मैं कर रहा हूँ: -

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

यह वही चीज है जो मुझे चाहिए, क्या यह करने का यह अच्छा तरीका है ..? क्या ऐसा करने के लिए कोई और बेहतर विचार है ..?

0

पैरामीटर के साथ एक नियंत्रक फ़ंक्शन बनाएं और इसमें पैरामीटर के साथ लिंक प्रदान करें।

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

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

मुझे यकीन नहीं कर रहा हूँ अगर यह आप चाहते हैं, क्योंकि यह बहुत आसान बात है। है थोड़ा इस तरह मेरे विचार पृष्ठ बदलने मैं: - -:

+0

नहीं, मुझे यह नहीं चाहिए। मैं कुछ मान को नियंत्रक से देखने के लिए भेजना चाहता हूं कि मूल्य उपयोगकर्ता द्वारा क्लिक किया गया लिंक है .. मान लीजिए कि मेरे पास 3 लिंक ए, बी, और सी हैं, यदि उपयोगकर्ता एक कंट्रोलर फ़ंक्शन पर क्लिक करता है और संबंधित मान किसी कार्य को उस कार्य को – avinashse

+0

हां से पारित किया जाएगा जो उपर्युक्त तकनीक का उपयोग करके किया जा सकता है। यदि आप http://yoursite.com/controller/function/a पर एक लिंक बनाते हैं तो एक समारोह को पास कर दिया जाएगा। वही तरीका एक और लिंक हो सकता है बी। क्या आप AJAX का उपयोग करने का मतलब है? – Nish

+0

असल में मैं पैरामीटर में अपना विवरण पास नहीं करना चाहता, यह बात है .. और कोई AJAX उसी पृष्ठ में सामग्री को विस्थापित नहीं करेगा लेकिन मुझे नियंत्रक से एक और दृश्य कॉल करना होगा – avinashse