2016-10-20 3 views
0

내 코드에 구조를 부여하려고하는데 문제가 있습니다.SQL 쿼리 응답을 통해 루핑하고 각 요소에 대해 다른 관련 요소를 검색하려고합니다. 그것은 문제없이 내 컨트롤러에서 작동하지만 내가보기에 반복려고 할 때 나는 항상각각 다른 내부보기 용 MVC PHP

내 컨트롤러 관련 요소에 대해 동일한 값을 얻을 : 여기

<?php 
include_once('class/guide.class.php'); 
    $bdd = new DBHandler(); 
    $req = guide::getGuides($bdd,0,5); 


foreach ($req as $results => $poi) 
{ 
    $req[$results]['id'] = htmlspecialchars($poi['id']);; 
    $req[$results]['name'] = nl2br(htmlspecialchars($poi['name'])); 

    $guide = new guide($results['name'],$bdd); 
    $guidePois = $guide->getGuidePois($poi['id']); 
    foreach ($guidePois as $res => $re) 
    { 
     echo $guidePois[$res]['id']; 
     echo $guidePois[$res]['name']; 
     $guidePois[$res]['id'] = htmlspecialchars($re['id']); 
     $guidePois[$res]['name'] = nl2br(htmlspecialchars($re['name']));  
    } 
} 

include_once('listing.php'); 

, 당신은 내가 에코 볼 ids/관련 요소 목록의 이름 및 잘 작동하면 출력은 첫 번째 목록의 각 요소에 대해 올바른 것입니다.

난 내보기에 그것을 할

:

<?php 
foreach($req as $poi) 
{ 
?> 
<div class="news"> 
    <h3> 
     <?php echo $poi['id']; ?> 
     <em>: <?php echo $poi['name']; ?></em> 
    </h3> 
    <?php foreach($guidePois as $re) 
    { 
     ?> 
     <h4> 
     <?php echo $re['id']; ?>: 
     <?php echo $re['name']; ?> 
     </h4> 
    <?php 
    } 
    ?> 
</div> 
<?php 
} 
?> 

어떻게 든 첫 번째 목록 출력은 좋은 요소지만, 2 목록, 난 항상 첫 번째 항목의 관련 요소를 얻을.

아이디어가 있으십니까? 당신은 단지 설정 때문에 당신의 도움이

+0

무엇인가? –

+0

여기에 게시하기 전에 각 변수를 몇 번 수정 한 후에이 오류를 만들었지 만 불행히도

+0

컨트롤러에서보기를 호출하는 방법을 게시 할 수 있습니까? 부분 코드로는 디버깅하기가 어렵습니다. – Cyril

답변

1

이에 대한 많은입니다

감사 : 컨트롤러에 한 번

$guidePois = $guide->getGuidePois($poi['id']); 

. 당신이보기에 작업 할 경우

, 당신은 바로 </h3>

<?php $guidePois = $guide->getGuidePois($poi['id']); ?> 

그래서 $ guidePois 각 반복에 새 값을 얻을 수 있음을 마감 한 후이 코드를 삽입해야합니다.

전체보기 코드 :`$의 re`는`$의 res` 같은 것은 없다는 함께 할 수있는

아마도
<?php 
foreach($req as $poi) 
{ 
?> 
<div class="news"> 
    <h3> 
     <?php echo $poi['id']; ?> 
     <em>: <?php echo $poi['name']; ?></em> 
    </h3> 
    <?php 
    $guidePois = $guide->getGuidePois($poi['id']); 
    foreach($guidePois as $re) 
    { 
     ?> 
     <h4> 
     <?php echo $re['id']; ?>: 
     <?php echo $re['name']; ?> 
     </h4> 
    <?php 
    } 
    ?> 
</div> 
<?php 
} 
?> 
+0

정말 고마워요, 이건 수업이 될 것입니다! –

+0

일반적인 참고 사항 : 루프의 각 하위 항목에 대한 쿼리를 호출하는 이유는 무엇입니까? 전화를 걸 때 데이터를 처음 가입 한 경우보다 DB 서버에서 지수가 더 많은 쿼리를 실행합니다. $ req = guide :: getGuides ($ bdd, 0,5); 또한 PHP 프레임 워크에서 사용할 수있는 템플릿 도구 (예 : Laravel의 블레이드 템플릿)? <를 사용하지 않아도되는 훨씬 깨끗한 코드를 만들 수 있습니까? PHP 태그 및 모든 시간 에코 ... – Cyril

+0

안녕하세요 테크, 답변 주셔서 감사합니다. 나는이 프로젝트를 통해 기본 PHP 지식을 새로 고치려고했지만 이제 Symfony로 다시 시작할 것입니다. –