我有这个查询:SHOW COLUMNS FROM mash在我的while循环中工作正常,用于构建由表列名制成的select元素.但是在我的表中,我有“id”和“tstamp”,我不想在select元素中,这是否可以排除这些列?
- echo "<form action='".$_SERVER['PHP_SELF']."' method='get'>";
- connectDB();
- $result = MysqL_query("SHOW COLUMNS FROM mash") or die(MysqL_error());
- echo '<select name="column" class="column">';
- while ($row = MysqL_fetch_array($result)) {
- echo "<option value='".$row[0]."'>".ucwords($row[0])."</option>";
- }
- closeConn();
- echo '</select>';
- echo "</form>";
PHP方式:
在获取这些字段时,在while循环中使用continue
,如下所示:
- echo "<form action='".$_SERVER['PHP_SELF']."' method='get'>";
- connectDB();
- $result = MysqL_query("SHOW COLUMNS FROM mash") or die(MysqL_error());
- echo '<select name="column" class="column">';
- while ($row = MysqL_fetch_array($result))
- {
- if($row[0] == 'id' || $row[0] == 'tstamp')
- continue;
- echo "<option value='".$row[0]."'>".ucwords($row[0])."</option>";
- }
- closeConn();
- echo '</select>';
- echo "</form>";
这将跳过id和tstamp字段并处理所有其他字段. continue在循环结构中用于跳过当前循环迭代的其余部分,并在条件评估和下一次迭代开始时继续执行.
MysqL方式:
- SHOW COLUMNS FROM mash WHERE Field NOT IN ('id','tstamp');