我在php中创建了表,并且只想在此表中显示一些列名。我使用了SHOW
语句,但它显示了所有列。这是我的代码:
$result = mysqli_query($con, "SHOW COLUMNS FROM habits ");
if ($result->num_rows > 0) {
// output data of each row
while ($row = $result->fetch_assoc()) {
echo '<tr>
<td scope="row">' .$row['Field'].'</td>
</tr>';
}
}
如何只展示其中一些?有人知道解决方案吗?
顺便说一句,SELECT语句不适用于此代码。它显示了这个:
注意:未定义的索引:字段 位于第70行的\ xampp \ htdocs \ diagnoVisProject \ HabitsPharmacotherapies.php
答案 0 :(得分:0)
您可以使用
SELECT column_name FROM information_schema.tables WHERE table_name = 'habits' AND (column_name='your column 1' OR column_name='your column 2')
但是如果你已经知道列名
,我不确定你会怎么做答案 1 :(得分:0)
如果您知道要显示的列的名称,则可以添加包含这些名称的数组。然后在打印行之前,您需要验证列的名称是否在数组中。如果不是你不打印那行。
这样的事情:
$result = mysqli_query($con, "SHOW COLUMNS FROM habits ");
$allowedColums = ["column1", "column2", "etc."];
if ($result->num_rows > 0) {
// output data of each row
while ($row = $result->fetch_assoc()) {
if (in_array($row['Field'], $allowedColums)) {
echo '<tr>
<td scope="row">' . $row['Field'] . '</td>
</tr>';
}
}
}