【发布时间】:2014-05-27 09:27:00
【问题描述】:
我尝试获取表中列的值。首先,我想获取表格。然后我确实喜欢:
$sql = $dbh->query("DESCRIBE `players` ;");
foreach ($sql->fetchAll(PDO::FETCH_NUM) as $k) {
echo 'Table:' . $k[0]. '<input type="text" values=""><br> ' ;
}
那么,现在为同一个 foreach 中的每个表获取价值的最佳方法是什么?
解决方法:
function getColumnValue($column,$name) {
global $dbh;
$sqll = ("SELECT `$column` FROM `players` WHERE `name`='$name' ");
$sthh = $dbh->prepare($sqll);
$sthh->execute();
return $sthh->fetch(PDO::FETCH_ASSOC);
}
foreach ($sql->fetchAll(PDO::FETCH_NUM) as $k) {
$test = getColumnValue($k[0],'Test');
echo 'Table: '.$k[0] .' <input type="text" value="'.$test[$k[0]].'" style="color:#000;"> <br> ';
}
【问题讨论】:
-
您不能在同一个 foreach 循环中执行此操作,因为您必须执行和评估完全不同的查询,因此您必须遍历不同的结果集。 在同一个循环中没有(理智的)方法可以做到这一点。
-
那么我怎样才能做到最好呢?我想获取列名及其值。
-
你的做法非常低效
-
行了怎么会低效呢?然后发布一个更好的解决方案。