2012-08-14 4 views
0

Hy. 나는 비슷한 대답이 있다는 것을 알고 있지만, 나는 그것을 얻을 수 없다. 여기 내 대구입니다 :루프 외부에서 변수 표시

<?php include 'header.php'; ?> 
<?php include 'connect.php'; 

$q = mysqli_query($link, $aaa = 'SELECT * FROM agentii LEFT JOIN orase ON agentii.oras=orase.oras_id WHERE orase.oras_id = \'' .$_GET['id']. '\'') or die(mysqli_error($link)); 
$row = mysqli_fetch_assoc($q); 
?> 

<h2>Title <em><?php echo $row['oras'];?></em></h2> 

<div class="div_view"> 
    <table cellspacing="0" cellpadding="5" border="0" width="100%"> 
     <tr> 
      <th>Agentie</th> 
      <th>Adresa</th> 
     </tr> 

     <?php while ($row = mysqli_fetch_assoc($q)) { ?> 

     <tr> 
      <td><?php echo $row['agentie'];?></td> 
      <td><?php echo $row['adresa'];?></td> 
     </tr> 

     <?php }?> 

    </table> 
</div> 

<?php include 'footer.php'; ?> 

이 출력 (새로운 계정이기 때문에 이미지를 넣을 수 없습니다 - 그래서는 PRT SRC에 대한 링크를 넣어) : 내가 3이 내 데이터베이스에서 http://postimage.org/image/w9zsexz91/

을 행 및 코드 출력에만 나는 2 mysqli_fetch_assoc 때문에 알고 있지만 모든 행을 표시하려면 및 너무 동안 제목 (<?php echo $row['oras'];?>) 표시 싶어요.

누군가 나를 도와 줄 수 있습니까? Thx 사전에!

답변

1

의무 경고 첫째 : 기억 작은 Bobby Tables! (또는 : 코드는 SQL 주입 공격에 취약) : 당신은 루프 밖에서 행을 요청 때문에, while 루프의 두 행을 얻을

다음 먼저, 결과에서 내부 커서를 증가시킵니다. 당신이 한 번에 제목과 행을 얻고 싶은 경우에

, 당신은 예를 들어, 결과를 캐시해야합니다

$resultArray = array(); 
while ($row = mysqli_fetch_assoc($q)) { 
    $resultArray[] = $row; 
} 
//.... 
?> 
<h2><?php echo $resultArray[0]['oras']; ?></h2> 

<?php // ... ?> 

<?php foreach($resultArray as $row) { 
    <tr> 
    <td><?php echo $row['agentie'];?></td> 
    <td><?php echo $row['adresa'];?></td> 
    </tr> 
} ?> 

이 그냥 그루터기, 당신이 행을 가지고 있다면 물론 당신이 검사를 구현해야합니다 등등 ...

+0

예! 이 작동합니다. Thx 남자! 두 가지 대답 모두 훌륭하지만, 나는 네 답을 고수 할 것이다. – Luna84

0

시도 :

<?php do { ?> 

<tr> 
    <td><?php echo $row['agentie'];?></td> 
    <td><?php echo $row['adresa'];?></td> 
</tr> 

<?php } while ($row = mysqli_fetch_assoc($q)); ?> 

이 루프의 첫 번째 반복이 첫 번째 가져온 행을 인쇄합니다. while 절의 위치 만 변경하여 새 행을 가져 오기 전에 루프 코드를 실행해야합니다.

+0

Thx man - 빠르고 좋은 답변을 위해! 그것은 작동합니다! – Luna84