2017-12-23 52 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値を持っていると、なぜ「H」はありません。 私は最後の<td>になりたいですか?

$elementの値は、foreach後にループが終わった毎時あるので。この文字列の最初のシンボルは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は完璧なソリューションです... –