2017-12-23 8 views
-2

URL을 생성하는 데 사용하려는 행의 ID를 가져 오려고합니다. 다음 코드를 사용하여 테이블 행을 생성 중입니다.foreach 루프의 첫 번째 열/td 값을 얻는 방법

<? 
    $sql="SELECT pID,pName,pBudget,pRate FROM projects ORDER BY id"; 
    $result=mysqli_query($con,$sql); 
    $projects = array(); 
    while($row = mysqli_fetch_assoc($result)) 
    { 
     $projects[] = $row; 
    } 
    foreach ($projects as $row) 
     { 
      echo "<tr>"; 
      foreach ($row as $element) 
      { 
       echo "<td>".$element."</td>";    
      } 
      echo "<td class=\"actions\"> 
        <a href=\"project.php?pID=$element[0]\"> 
        Go to Project 
        </a> 
       </td>"; 
      echo "</tr>"; 
     } 

?> 

행의 마지막 <td> 제외한 모든 잘 작동. (확실하지 나는 올바른 표현을 사용하고 있습니다.)의 내 데이터베이스 테이블 행이 다음

pID |  pName  | pBudget | pRate 
----------------------------------------- 
12345 | Create Website | 250  | hourly 

이 내 페이지에서 같은 테이블 행을 얻고있다 가정 해 봅시다

<tr> 
    <td>12345</td> 
    <td>Create Website</td> 
    <td>250</td> 
    <td>hourly</td> 
    <td><a href="project.php?pID=h">Got to project</a></td> 
</tr> 

마지막 <td>가하는 이유 pID 값 '12345'가없고 'h'가있는 이유는 무엇입니까?

<td><a href="project.php?pID=12345">Got to project</a></td> 

답변

4

왜 마지막 '12345'을 PID 값이 왜 '시간'이 존재하지 않습니다 나는 마지막 <td>가되고 싶어?

$elementforeach 후에 루프의 값 위에 시간당 IS 때문에. 이 문자열의 첫 번째 기호는 h입니다.

올바른 버전은 다음과 같습니다

echo ".....<a href=\"project.php?pID={$row['pID']}\"> 

당신이 fetch_assoc 기능을 사용한다.

0
<?php 
$sql="SELECT pID,pName,pBudget,pRate FROM projects ORDER BY id"; 
$result=mysqli_query($con,$sql); 
while($row = mysqli_fetch_assoc($result)) 
{ 
    echo "<tr>"; 
    echo "<td>".$row['pName']."</td>"; 
    echo "<td>".$row['pBudget']."</td>"; 
    echo "<td>".$row['pRate']."</td>"; 
    echo "<td class='actions'> 
       <a href='project.php?pID=$row['pID']'> 
       Go to Project 
       </a> 
      </td>"; 
     echo "</tr>"; 
} 
?> 
+0

나는 당신의 투표를했습니다 ... @u_mulder는 완벽한 해결책입니다 ... –

관련 문제