我想获取我想用来生成网址的行的ID。 我正在使用以下代码生成表行。
<?
$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
值&#39; 12345&#39;为什么有&#39; h&#39; ?
我想要最后一个<td>
:
<td><a href="project.php?pID=12345">Got to project</a></td>
答案 0 :(得分:3)
为什么最后一个没有pID值'12345'以及为什么有'h'?
因为$element
循环结束后foreach
的价值是每小时。该字符串的第一个符号是h
。
正确的版本是:
echo ".....<a href=\"project.php?pID={$row['pID']}\">
使用fetch_assoc
函数。
答案 1 :(得分: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>";
}
?>