2013-06-19 4 views
0

스크립트가 완료된 페이지를 작성하고 있는데 이름과 포인트가 테이블에 나열됩니다. 하지만 디자인을 할 때 "에코"로하기가 어려울 것입니다. 그래서 내가 html 파일에서 사용할 수있는 instarsed이 얻을 수있는 경우 woundering 오전.

테이블 모양은 다음과 같습니다.

이름 | 포인트 | 날짜

내가 원하는 것은 10 개의 첫 번째 행에 대한 var와 10 개의 첫 번째 행에 대한 var를 만드는 것입니다.

$top1n = $row[0]'name' 
$top1p = $row[0]'points' 
$top2n = $row[1]'name' 
$top2p = $row[1]'points' 
$top3n = $row[2]'name' 
$top3p = $row[2]'points' 
$top4n = $row[3]'name' 
$top4p = $row[3]'points' 

과 같이

...

echo "<table border='1'>"; 

echo "<tr> <th>Name</th> <th>Tokens</th> </tr>"; 
// keeps getting the next row until there are no more to get 
while($row = mysql_fetch_array($resultbtm)) { 
    // Print out the contents of each row into a table 
    echo "<tr><td>"; 
    echo $row['Name']; 
    echo "</td><td>"; 
    echo $row['points']; 
    echo "</td></tr>"; 
} 

echo "</table>"; 
+0

[스마티 (http://www.smarty.net/) 또는 다른 템플릿 엔진은 당신이 무엇을 할 수 찾고. – Jon

+2

당신이하고 싶은 것은 공포를 코딩하는 것입니다. 같은 일과 관련된 동적으로 명명 된 변수가 ~ 20 개 있습니다. 이것은 정확히 배열을위한 것입니다. 내 대답을 보면 (다른 방법이있다) 두 개의 배열'$ names'와'$ points' (하나의 배열이 될 수 있음)에 모든 정보를 갖게 될 것이다. 'echo $ top4n;'또는'echo $ top1p;'를 실행하는 대신'echo $ names [3];'와'echo $ points [0];'를 할 수 있습니다. 어레이가 훨씬 깨끗하고 논리적이라는 것 외에는 차이가 없습니다. – Sam

답변

-1

아래에있는 내 스크립트 당신은 사용할 수 있습니다보기 extract

echo "<table border='1'>"; 

    echo "<tr> <th>Name</th> <th>Tokens</th> </tr>"; 
    // keeps getting the next row until there are no more to get 
    $c = 1; 
    while($row = mysql_fetch_array($resultbtm)) { 
     ${'top'.$c.'n'} = $name; 
     ${'top'.$c.'p'} = $points; 
     $c++; 

     // Print out the contents of each row into a table 
     echo "<tr><td>$Name</td><td>$tokens</td></tr>"; 
    } 

    echo "</table>"; 
+3

대답에'extract()'코드를 넣으면 도움이 될 것입니다 ... –

+0

오, 죄송합니다, 언급 해 주셔서 감사합니다. – michalzuber

+0

지금까지 답변 해 주셔서 감사합니다. 나는 그것을 더 잘 설명 할 것이다. –

0

이것이 원하는가요? 이것이 당신이 찾고 있던하지만 $names$points 변수는 MySQL의 결과 세트에서 이름 및 토큰 (각각)를 포함하는 배열 일 무슨 경우

$names = array(); 
$points = array(); 

while($row = mysql_fetch_array($resultbtm)) { 
    $names[] = $row['Name']; 
    $points[] = $row['tokens']; 
} 

echo '<pre>'; 
print_r($names); 
print_r($points); 
echo '</pre>'; 

100 % 확인합니다.

사이드 노트 :보안 문제로 인해 PHP 5.5.0부터는 더 이상 사용되지 않습니다. 가능한 경우 mysqli_* 또는 PDO으로 전환하는 것이 좋습니다.

+0

내 질문을 편집하여 더 잘 설명했습니다. –

+0

귀하의 질문에 대한 귀하의 의견을 참고하십시오. – Sam

0

당신은 이런 식으로 할 수 없다 : (너무 많은 변수를 생성 할 필요)

$str = "<table border='1'>"; 

$str .= "<tr> <th>Name</th> <th>Tokens</th> </tr>"; 
// keeps getting the next row until there are no more to get 
while($row = mysql_fetch_array($resultbtm)) { 
    // Print out the contents of each row into a table 
    $str .= "<tr>"; 
    $str .= "<td>".$row['Name']."</td><td>".$row['points']."</td>"; 
    $str .= "</tr>"; 
} 

$str .= "</table>"; 
echo $str; 
관련 문제