Цикл Foreach (или, может быть, пока?) - хотите вернуть только одну запись в зависимости от страницы

Решил это с помощью отредактированного кода ниже. Спасибо всем, кто помог!

У меня есть две записи в моей БД. Каждая запись имеет 6 полей (challengeId, partnerName, код, challengeTitle, описание, image_url). Я выбираю данное partnerName из просмотра родительской страницы, чтобы перейти к просмотру дочерней страницы.

Я использовал цикл foreach и у меня возникли проблемы. Теперь я вынул свой цикл foreach и заменил его<?php $challengename = $this->challengenames[$k] = current($this->challengenames); ?> но теперь не удается заставить дочернюю страницу отображать значения для challengeTitle, которые соответствуют «partnerName», которое я выбрал на своей родительской странице. Он всегда предоставляет значение challengeTitle первой записи вместо текущей записи. Мне нужно знать, как изменить значение challengeTitle в зависимости от того, какое имя партнера я выбрал на своей родительской странице.

Исправит ли это цикл do while или оператор if в контроллере дочерней страницы исправит это?

Любой совет (и изменения кода) очень ценится.

контроллер родительской страницы
public function viewChallengesAction(){
    //get instance for request
    $request = JO_Request::getInstance();
    //get activated challenge names and set variables
    $myChallenge=$this->getChallenge();
    $this->view->challengenames = array();
    foreach($myChallenge AS $k=>$challengename){
        $this->view->challengenames[$k]['href'] = WM_Router::create($request->getBaseUrl() . '?module=challenges&controller=index&action=yourChallenge?code=' . $challengename['partnerName']);
        $this->view->challengenames[$k]['partnerName'] = $challengename['partnerName'];
    }
ДЕТСКИЙ ВИД
<div id="defaultcontainerwrapper" class="maxwidth">
    <?php $challengename = $this->challenge; ?>
        <header>
        <h1>
            <div class="list">
                <span>Welcome to </span><?php echo $challengename['partnerName']; ?><span>'s Beat Waste Challenge!</span>
             </div>
        </h1>
        </header>
    <?php } ?>
</div>
РЕБЕНОК РЕБЕНКА
public function yourChallengeAction(){
    //get activated challenge names and set variables
    $request = JO_Request::getInstance();
    $myChallenge=$this->getChallenge();
    $code = $request->getQuery("code");
    $this->view->challengenames = array();
    foreach($myChallenge AS $k=>$challengename){
        if ($challengename['partnerName'] == $code)
        {
            $this->view->challenge = $challengename;
            break;
        }

    }

Ответы на вопрос(0)

Ваш ответ на вопрос