id | ozID | ozDa1 | ozDa2 | ozDa3
-----------------------------------------------
1 | 3,4 | Khar | Lorem | Emre
2 | 1,2 | Imson | Berkay | ade
3 | 2 | abc | Goksel | casc
4 | 5 | teq | Insanlik | fdsc
5 | 1,5,2 | asd | Oyle | asdas
6 | 2,1 | fav | Boyle | dsssa
7 | 3 | qwrewq | Filan | dcsd
我可以写下这样的内容:
$partNameWD->ozDa2; // Berkay
但最后的数字可以变化,如:ozDa4
。
首先,我从ozID
表中获取数据,例如:1,2
1,2是什么意思?
它指向列号:ozDa1
和ozDa2
访问此号码是这样的:
$ozColNo = explode(",", $partNameWD->ozID);
foreach (ozColNo as $ozColId) {
echo ozColId." - "; // 1 - 2
}
那么我的问题是什么?
如何使用这些数字从列中获取数据?那么,我如何从一个和第二个
打印数据必须进行转换:ozDa1 // Imson
和ozDa2 // Berkay
请告诉我方法吗? 感谢
答案 0 :(得分:0)
我并非100%确定我是否正确理解了这个问题,但您可以获得"列号"之间的映射。和#34;列名"在information_schema.columns
。因此,如果给您一个号码,您可以使用以下方式查找名称:
select column_name
from information_schema.columns
where table_name = @table_name and table_schema = @table_schema and
ordinal_position = @op;
你可以用一种稍微复杂的方法做一组列(因为我认为排序很重要)
select group_concat(c.column_name order by cols.ordering) as columns
from (select 1 as colpos, 1 as ordering union all
select 2, 2
) cols join
information_schema.columns c
on c.ordinal_position = cols.colpos
where table_name = @table_name and table_schema = @table_schema;
答案 1 :(得分:0)
试试这个。
$output= $partNameWD->{'ozDa' . $ozColId};
echo $output;
查看PHP.net
网站了解
http://php.net/manual/en/language.variables.variable.php
注意
进一步解除引用数组的变量属性 PHP 5和PHP 7之间的不同语义.PHP 7.0迁移 指南包含有关表达类型的更多详细信息 改变了,以及如何放置花括号以避免歧义。