我有一个查询,并循环其结果以显示表中的记录,这很好。
我的表格有5列:RecID、Name、Feedback、Score和Product。
正如您所看到的,下面的循环将列出所有5列。我只想列出其中的4列:Name、Feedback、Score和Product,但将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";
}
?>
不要使用循环来显示列,只需使用$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";
}
?>
您可以修改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文档中应该如何使用它们。