我有一个表(wp_postmeta),它包含四列(meta_id,post_id,meta_key,meta_value)。 meta_key包含一个名为neighborhood_value的字段,neighbor_value的值存储在meta_value列下。如何从我的表中检索neighborhood_value的内容并将它们用作变量?感谢任何支持
答案 0 :(得分:0)
如果我理解正确,您想要从meta_value键入一个键列表?
我会在php中执行此操作:(假设您正在使用某种支持此构造的框架。此示例适用于codeigniter框架))
$sql = "SELECT distinct meta_value FROM wp_postmeta"
$result = $db->query($sql)
foreach ($result->reult() as $row) {
$mydata[] = $row->meta_value;
}
$ mydata现在是包含所有meta_value值的数组。
答案 1 :(得分:0)
我和以下一样。
<?php foreach($values as $value)
{
$myVarname[$value[valuefield]]=$value[valuefield];
}
$myVarname[field1]="Cow";
$myVarname[field2]="dog";
?>
答案 2 :(得分:0)
好的,因为一切都是元,代码也将是“元”:)
更新 - 现在,当我知道您使用什么来连接数据库时,我可以将我的答案更改为更具体。
global $wpdb;
$sql = "SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=XXX";
$retMeta = array();
$results = $wpdb->get_results($sql);
foreach ($results as $resultRow)
{
if (!isset($retMeta[$resultRow['meta_key']]))
{
$retMeta[$resultRow['meta_key']] = array();
}
$retMeta[$resultRow['meta_key']][] = $resultRow['meta_value'];
}
生成的$ retMeta将是二维数组,然后您将能够使用$ retMeta ['neighbourhood_value'] [0]访问您的邻域值(当然首先您必须检查是否已设置 - { {1}})。
<强> UPDATE2 强>
对于脚本插入数据,它看起来像这样:
isset($retMeta['neighbourhood_value'])
但是你应该使用WP_Query来保持可移植性(wp_postmeta不必以这种方式命名,它可以是wp2_postmeta等)。
答案 3 :(得分:0)
如果你正在处理Wordpress模板文件,例如loop.php等,只需使用方便的get_post_meta()函数。
答案 4 :(得分:0)
您没有指定要用于变量的语言 - 但如果它恰好是MySQL中的SQL,那么您将如何“从MySQL表中检索值并保存在变量中”:
select @var_name := column_name from table_name where other_column = 5;
这是select,并且作为副作用将用户变量@var_name的值分配给column_name的值。
或
select @var_name := count(*) from other_table where other_column > 5;
将@var_name设置为与条件匹配的记录数。