我有一个查询,我遍历其结果以显示表中的记录,这很正常。
我的表有5列:RecID,名称,反馈,分数和产品。
如您所见,下面的循环将列出所有5列。我想要做的只是列表中的列4:名称,反馈,分数和产品,但将RecID存储到名为$RecID
的变量中。然后我将使用Delete链接中的$ RecID来调用Ajax函数,以根据ID删除记录。
如何排除显示中的特定列并捕获RecID值以存储在变量$RecID
中?
<?php
while($dataArray = mysql_fetch_array($queryexe, MYSQL_ASSOC))
{
echo "<tr>\n";
foreach ($dataArray as $col_value) {
echo "\t<td>$col_value</td>\n";
}
//echo "<td><a onclick('deleteRecord(" + $recID + ")'>Delete</a></td>";
echo "</tr>\n";
}
?>
答案 0 :(得分:3)
请勿使用循环显示列,只需使用$dataArray['colname']
直接访问您想要的字段。
<?php
while($dataArray = mysql_fetch_array($queryexe, MYSQL_ASSOC))
{
echo "<tr>\n";
echo "<td>{$dataArray['Name']}</td><td>{$dataArray['Feedback']}</td><td>{$dataArray['Score']}</td><td>{$dataArray['Product']}</td>";
echo "<td><a onclick('deleteRecord({$dataArray['RecID']})'>Delete</a></td>";
echo "</tr>\n";
}
?>
答案 1 :(得分:1)
您可以修改foreach
循环以获取列名称及其值。然后,在循环内部,您可以检查所需的特定列名称,并以不同于其他名称的方式处理它。
while($dataArray = mysql_fetch_array($queryexe, MYSQL_ASSOC)) {
echo "<tr>\n";
foreach ($dataArray as $col_name => $col_value) {
if ($col_name == 'RecID') {
echo "<td><a onclick('deleteRecord(" . $col_value . ")'>Delete</a></td>";
} else {
echo "\t<td>$col_value</td>\n";
}
}
echo "</tr>\n";
}
您可以阅读foreach
的两种不同语法之间的差异,以及如何在PHP documentation中使用它们。