作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含多列的 MySQL 表,我需要从中选择每条记录的所有列,并从中创建一个特定的 $key=>$value
。例如
表格
ID | group_cat | group_sec | group_name | enabled | sent
-------------------------------------------------------------------------------------
1 | C | sct_a | Project_A | 1 | no
2 | C | sct_b | Project_B | 1 | no
3 | P | sct_c | Moderators | 1 | no
4 | C | sct_d | Ambassad | 1 | no
5 | P | sct_e | PMP | 0 | no
我需要的 MySQL 查询是“SELECT * FROM groups WHERE sent = 'no'”
通过 PHP 是
PHP 代码
$query = "SELECT * FROM `groups` WHERE `sent`= 'no' ";
$sth = $sql->prepare($query);
$sth->execute();
while($row = $sth->fetch(PDO::FETCH_ASSOC)) {
foreach($row as $key => $value) { $$key = $value; }
...
...
...
}
这是我的问题:我需要 $key
来自 'group_sec
' 列,相关的 $value
来自 'group_name'< 列
。这样这对$$key=>$value
就可以返回这个结果(例如)
echo $sec_b;
返回:Project_B
你能帮我完成这件事吗?
提前谢谢
最佳答案
这将为您完成这项工作:
${$row['group_sec']} = $row['group_name'];
echo $sct_b;
输出:
Project_B
您可以在 while 循环中使用它(foreach 可能会被删除):
while($row = $sth->fetch(PDO::FETCH_ASSOC)) {
${$row['group_sec']} = $row['group_name'];
...
// do something with $sct_b
...
}
或者,如果您的列名称可能会更改,但位置保持不变,您可以使用
while($row = $sth->fetch(PDO::FETCH_NUM)) {
${$row[2]} = $row[3];
...
// do something with $sct_b
...
}
关于php - 如何在多个选择中选择并分配给特定的$key、特定的$value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49852129/
我是一名优秀的程序员,十分优秀!