2016-08-27 5 views
0

나는 다음과 같은 코드를 가지고 :어떻게 문자열로 취급되는 정수를 방지하기 위해

$number = 1; 

while ($row=mysqli_fetch_array($result)){ 
    $pageID = $row[0]; 
    $pageName = $row[1]; 
    $timeStamp = $row[5]; 

    echo " 
     <tr> 
      <td> 
       $number; 
       $number++; 
      </td> 
      <td><a href=\"./lib/viewpage.php?pageID=$pageID\" target=\"_blank\">$pageName</a></td> 
      <td>$timeStamp</td> 
     </tr>"; 
    } 
내가 모든 행에 대해 1 씩 숫자 증가가 해당이 할 수있는 방법이 있는지 궁금 해서요

과 내가 발견 "$ integer ++"메서드를 사용하는 솔루션 위. 그러나 인용문으로 사용하기 때문에 대신 십진수 대신 문자열로 처리됩니다. 이걸 어떻게 수정 하시겠습니까?

나는 PHP를 처음 사용했습니다!

+1

반향 후 증분을 적용합니다. – tkausl

답변

1

단순히 덧셈 연산자를 견적 밖에 놓고 집합 변수 만 포함하면됩니다. 즉, "$ number = 0;"을 설정해야합니다. 그래서 같은

: 그것은 에코 문에 있기 때문에

while ($row=mysqli_fetch_array($result)){ 
    $pageID = $row[0]; 
    $pageName = $row[1]; 
    $timeStamp = $row[5]; 

    $number; 
    $number++; 

    echo " 
     <tr> 
      <td> 
       $number 
      </td> 
      <td><a href=\"./lib/viewpage.php?pageID=$pageID\" target=\"_blank\">$pageName</a></td> 
      <td>$timeStamp</td> 
     </tr>"; 
} 
0

코드에서, $ 숫자는 문자열로 처리됩니다. 그리고 전체 echo 문은 큰 따옴표로 묶인 문자열을 가지고 있습니다. 그냥 숫자와 문자열을 연결하십시오. 그래서 현명한처럼 쓰기 : 라훌 Mankar의 대답
유사

$number = 1; 
while ($row=mysqli_fetch_array($result)){ 
    $pageID = $row[0]; 
    $pageName = $row[1]; 
    $timeStamp = $row[5]; 
    echo " 
     <tr> 
      <td>". 
       $number; 
       $number++; 
      ."</td> 
      <td><a href=\"./lib/viewpage.php?pageID=$pageID\" target=\"_blank\">$pageName</a></td> 
      <td>$timeStamp</td> 
     </tr>"; 
} 
+0

그러면 숫자가 두 번 나타나는 것을 알 수 있습니다. – Forbs

1

뭔가를 먼저 한 다음에 1을 추가 할 수의 값을 메아리

<td>".($number++)."</td> 

$number++로 그 부분을 대체합니다.
BTW :이 문제가 해결되지만 반향 중간에 증분자를 넣지 않는 것이 좋습니다

관련 문제