Php 在列名查询中使用数组
我想查询一个表的列名,放入一个数组,然后将该数据用于html的表中, 嗯,就是这样Php 在列名查询中使用数组,php,mysql,loops,Php,Mysql,Loops,我想查询一个表的列名,放入一个数组,然后将该数据用于html的表中, 嗯,就是这样 <?php $ser='localhost'; $usr='root'; $pas='password'; $bsd='basedata'; $tab='contact'; try { $dbh = new PDO('mysql:host='.$ser.';dbname='.$bsd.'', $usr, $pas); $dbh->setAttribute(PDO::ATTR_ERRM
<?php
$ser='localhost';
$usr='root';
$pas='password';
$bsd='basedata';
$tab='contact';
try
{
$dbh = new PDO('mysql:host='.$ser.';dbname='.$bsd.'', $usr, $pas);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $dbh->prepare("SHOW FIELDS FROM $tab ");
$query->execute();
echo "<tr>";
$i=0;
while ($dat = $query->fetch()) {
$nombre_columna[$i]=$dat[0];
echo "<th>".$nombre_columna[$i]."</th>";
$i++;
}
echo "</tr>\n";
$dbh = new PDO('mysql:host='.$ser.';dbname='.$bsd.'', $usr, $pas);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $dbh->prepare("SELECT * FROM $tab");
$query->execute();
$j=$i;
$i=0;
while ($dat = $query->fetch()) {
echo "<tr>";
while ($i<$j) {
echo "<td>".$dat[$nombre_columna[$i]]."</td>";
$i++;
}
echo "</tr>\n";
}
$dbh=null;
?>
因此,当我运行代码时,它只显示查询的第一行,而不显示更多的内容,我认为您误解了输出。它在表中的每一行中循环,但您的问题是,
while($ifetch()){
$i=0;//我正试图编辑您的帖子,以便在其中加入缩进,而不是那样的大块,但您的try
块没有结束标记。很抱歉,这是我的第一次,我不知道如何正确发布SELECT COUNT(*)的结果是什么从$tab
?您可以在选择的末尾使用限制1
,也可以在循环中使用。@Mike好像我误解了这个问题,虽然一开始并不清楚…真的@Mike Mike您做到了!!非常感谢它解决了我的问题。@Zrax如果这个答案对您有帮助,请单击复选框接受它。
while ($dat = $query->fetch()) {
$i=0; // <-- This will fix it
echo "<tr>";
while ($i<$j) {
echo "<td>".$dat[$nombre_columna[$i]]."</td>";
$i++;
}
echo "</tr>\n";
}
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>