2013-03-15 4 views
0

У меня есть массив, который вызывает из базы данных с помощью kohana 3.3. Я получил данные для представления, и я могу получить его с помощью print_r (переменная $). Я хочу создать кнопки movenext, movefirst, moveprevious и movelast на основе данных, находящихся в массиве.kohana 3.3 получить следующее значение в массиве

моя модель выглядит следующим образом

public function get_customer_list(){  
$cust_list= DB::select('*')->from('customers') 
        ->order_by('id','ASC') 
        ->execute() 
        ->as_array(); 
//print_r($cust_list);     
return $cust_list; 

мой контроллер выглядит как этот

[email protected]$_POST["id"]; 
    //echo $id; 
$amend = Model::factory('amendments')->get_customer_list(@$d); 
$this->page_title = 'amending'; 
$this->content = View::factory('forms/amendment_next'); 
//$this->rightwidget =view::factory('rightwidget'); 
$this->amend = $amend; 
$this->next = $id; 

мой взгляд выглядит как этот

foreach ($amend[0] as $key=>$value){ 
     echo '<p><span>'.$key.'</span><input id="'.$next.'" class="contact" type="text" name="'.$key.'"value="'.$value.'" /></p>';   
        } 
<a href="#" id="getnext">Next Record</a> 
<a href="javascript:void(0);" id="previous">Previous Record</a><button >Next Record</button><button>Last Record</button> 

я не возражаю, используя ссылку или кнопку

пожалуйста, помогите мне стек, и мой мозг заблокирован.

ответ

0

я использовал свой пример проект сам по этой проблеме. и теперь он стоит решить вот Контроллера выглядит как это сейчас

[email protected]$_GET["id"]; 
$amend = Model::factory('amendments')->get_customer_list(@$d); 
$this->page_title = 'I&M CRB Online App amending'; 
$this->content = View::factory('forms/amendments'); 
//$this->rightwidget =view::factory('rightwidget'); 
$this->amend = $amend; 
$this->next = $id; 

вид выглядит как этот

<?php 
if (!$next){ 
$next = "0";} 

$nextid = $next+"1"; 
$previd=$next-"1"; 
?> 
<a href="<?php echo HTTP_PATH; ?>/amend/getnext/?id=<? echo "0"; ?>">First Record </a> | 
<a href="<?php echo HTTP_PATH; ?>/amend/getnext/?id=<? echo $previd;?>">Previous Record</a> | 
<a href="<?php echo HTTP_PATH; ?>/amend/getnext/?id=<? echo $nextid;?>">move next</a> | 
<a href="<?php echo HTTP_PATH; ?>/amend/last">Last Record</a> 
<?php 
     foreach (@$amend[@$next] as $key=>$value){ 
     echo "<p><span>".$key."</span><input class='contact' type='text' name='".$key."'value='".$value."' /></p>"; 
} 


?> 

и для последней записи я должен был использовать другую функцию модели

public function get_last_customer(){  
    $last_customer= DB::select()->from('customers') 
         ->order_by('id','DESC') 
         ->limit(1) 
         ->execute() 
         ->as_array(); 
    return $last_customer; 

Спасибо всем за поддержку и ответы, которые вы мне предоставили.

0

Попробуйте это на ваш взгляд, просто некоторые Javascript код нужен (я использовал JQuery)

--- следующая() Пример ---

$(document).ready(function(){ 
    var customers = <?php echo json_encode($amend) ?>; 
    var count = 0; 

    function nextItem(){ 
     if(count >= customers.length)return; 
     console.log("customer:",customers[count]['id'],customers[count]['name']); 
     count =++count; 
    } 
}) 

+0

ОП пытается что-то совершенно другое ... – ITroubs

0

Ваш контроллер должен выглядят так:

[email protected]$_POST["id"]; 
//echo $id; 
$amend = Model::factory('amendments')->get_customer_list(@$d); 
$this->page_title = 'amending'; 
$inputArray = array('amend'=>$amend, 'id'=>$id); 

$this->content = View::factory('forms/amendment_next',$inputArray); 
//$this->rightwidget =view::factory('rightwidget'); 

Вам либо нужно передать переменные, которые вы хотите использовать в своем представлении, непосредственно на факто ry как ассоциативный массив, или вы должны сделать их доступными на глобальном уровне для завода.

Ваше мнение должно выглядеть следующим образом:

<? 
foreach ($amend[0] as $key=>$value){ 
     echo '<p><span>'.$key.'</span><input id="'.$next.'" class="contact" type="text" name="'.$key.'"value="'.$value.'" /></p>';   
} 
?> 
<a href="something.php?id=<? echo $id;?>" id="getnext">Next Record</a> 
<a href="javascript:void(0);" id="previous">Previous Record</a><button >Next Record</button><button>Last Record</button> 

после прохождения $inputArray на завод vairable $amend будет заполнен $inputArray['amend'] и $id будет заполнен $inputArray['id']

Смежные вопросы