Foreach-Schleife (oder währenddessen?) - Möchten Sie nur einen Datensatz zurückgeben, je nach Seite

Gelöst dies mit bearbeiteten Code unten. Vielen Dank an alle, die mitgeholfen haben!

Ich habe zwei Datensätze in meiner Datenbank. Jeder Datensatz enthält 6 Felder (challengeId, partnerName, code, challengeTitle, description, image_url). Ich wähle einen bestimmten Partnernamen aus der übergeordneten Seitenansicht aus, um zur untergeordneten Seitenansicht zu wechseln.

Ich habe eine foreach-Schleife verwendet und Probleme gehabt. Ich habe jetzt meine foreach-Schleife herausgenommen und durch @ erset<?php $challengename = $this->challengenames[$k] = current($this->challengenames); ?>, aber jetzt kann die untergeordnete Seite nicht die Werte für challengeTitle anzeigen, die 'partnerName' entsprechen, die ich auf meiner übergeordneten Seite ausgewählt habe. Es wird immer der challengeTitle-Wert des ersten Datensatzes anstelle des aktuellen Datensatzes bereitgestellt. Ich muss wissen, wie ich den challengeTitle-Wert ändern kann, je nachdem, welchen Partnernamen ich auf meiner übergeordneten Seite ausgewählt habe.

Wird dies durch eine do while-Schleife oder eine if-Anweisung im untergeordneten Seitencontroller behoben?

Jeder Rat (und jede Änderung des Codes) wird sehr geschätzt.

parent page controller
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'];
    }
KINDERANSICHT
<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>
KIND CONTROLLER
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;
        }

    }

Antworten auf die Frage(4)

Ihre Antwort auf die Frage