2012-01-02 4 views
-1

의 값을 채우는 MySQL은 위치가 top8에 속하는 모든 값을 검색 할 수 있습니다. 테이블에서 값을 표시하고 다른 값을 표시하는 대신 3 개의 다른 값을 가진 3 개의 테이블을 표시합니다. 이거야? 특정 값에 속하는 다른 값이 모두 표시되도록하는 도움? 3 개의 다른 값을 가진 하나의 테이블 만 필요합니다.PHP 데이터베이스가

<? 
     $facebookID = "top8"; 
     mysql_connect("localhost","root","password") or die(mysql_error()); 
     mysql_select_db("schoutweet") or ie(mysql_error()); 

     $data= mysql_query("SELECT schInitial FROM matchTable WHERE position='".$facebookID."'") 
     or die(mysql_error()); 

     while($row = mysql_fetch_array($data)) 
     { 

     ?> 
     <center> 
      <table border="0" cellspacing="0" cellpadding="0" class="tbl_bracket"> 
       <tr> 
        <td class="brack_under cell_1"><a href="www.facebook.com"/>team 1.1><?= $row['schInitial']?><a/></td> 
        <td class="cell_2">&nbsp;</td> 
        <td class="cell_3">&nbsp;</td> 
        <td class="cell_4">&nbsp;</td> 
        <td class="cell_5">&nbsp;</td> 
        <td class="cell_6">&nbsp;</td> 
       </tr> 

       <tr> 
        <td class="brack_under_right_up">team 1.2><?= $row['schInitial']?></</td> 
        <td class="brack_right"><!--1.2.1--></td> 
        <td>&nbsp;</td> 
        <td>&nbsp;</td> 
        <td>&nbsp;</td> 
        <td>&nbsp;</td> 
       </tr> 
       <tr> 
        <td>&nbsp;</td> 
        <td class="brack_right"><!--2.1--></td> 
        <td class="brack_under"><!--3.1--></td> 
        <td><!--here?--></td> 
        <td><!--there?--></td> 
        <td><!--everywhere?--></td> 
       </tr> 
      </table> 

    </center> 
<? 
} 
?> 


</body> 
+0

'while'은 루프 언어 구조입니다. 테이블 루프를 만듭니다. – hakre

답변

1

당신은 while 루프 내부의 table 태그 을 쓰기 때문입니다. 루프 내부의 모든 것은 각 루프 사이클마다 수행됩니다. 만 출력에 하나 개의 테이블을 원한다면, 당신은 다음과 같이 열고 루프의 외부 테이블을 닫해야합니다 :

$data= mysql_query("SELECT schInitial FROM matchTable WHERE position='".$facebookID."'") or die(mysql_error()); ?> <center> <table border="0" cellspacing="0" cellpadding="0" class="tbl_bracket"> <? while($row = mysql_fetch_array($data)) { ?> <tr> <td class="brack_under cell_1"><a href="www.facebook.com"/>team 1.1><?= $row['schInitial']?><a/></td> <td class="cell_2">&nbsp;</td> <td class="cell_3">&nbsp;</td> <td class="cell_4">&nbsp;</td> <td class="cell_5">&nbsp;</td> <td class="cell_6">&nbsp;</td> </tr> <tr> <td class="brack_under_right_up">team 1.2><?= $row['schInitial']?></</td> <td class="brack_right"><!--1.2.1--></td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td>&nbsp;</td> <td class="brack_right"><!--2.1--></td> <td class="brack_under"><!--3.1--></td> <td><!--here?--></td> <td><!--there?--></td> <td><!--everywhere?--></td> </tr> <? } ?> </table> </center> 

은, 그러나, 루프 당 세 개의 행을 인쇄하기 때문에 당 것 레코드 (하지만 그 중 두 테이블의 내용에 대한 참조가 있으므로 원하는 것 같아요?).

또한 당신이 거기있는 몇 가지 잘 형성되지 않은 HTML에 대해 조심 (예를 들어 표현 team 1.1>/team 1.2>> 문자. 당신이 브라우저에 > 문자를 인쇄이 대한 (HTML 엔티티로 &gt; 그것을 인코딩하려면 경우). 또한 두 번째 행 (</</td>)의 첫 번째 열에 </ 아마 불필요한 있습니다.

당신의 <table> 태그가 루프 내에 있기 때문이다
+0

HI nyarlathotep, 나는 while 루프 앞에

을 넣을 생각을합니다. 그러나 나는 각 기록마다 다른 기록이 필요하다. 내가 지금 가지고있는 것은 "aaa", "aaa", "aaa"의 값을 가진 테이블입니다. 내가 원하는 것은 "abc", "def", "ghi"와 같은 것이다. 루프마다 레코드 당 3 개의 행을 인쇄하고 싶지 않습니다. 레코드 당 루프 당 하나의 행을 인쇄하고 싶습니다. 어떤 아이디어? 미안하지만 나는 PHP 프로그래밍에 상당히 익숙하다.> –

1

가! while 루프 외부 <table> 태그를 놓습니다.

1

장소 너의 태블릿

0

당신이

echo '<table>' 같은 while 루프에서뿐만 아니라 HTML 부분을 에코 필요 while 루프 외부 전자 태그;

관련 문제