$s = $_POST[\'submitterms\'];
$querystr = "
SELECT $wpdb->terms.*
FROM $wpdb->terms
WHERE
lower($wpdb->terms.name) like \'%$s%\'
";
$pageposts = $wpdb->get_results($querystr, OBJECT);
echo \'<ul>\';
$x = 0;
while ($pageposts[$x]) {
$post = $pageposts[$x];
echo \'<li>\';
echo \'<a href="\' . $post->term_id . \'">\' . $post->name . \'</a>\';
echo \'</li>\';
$x++;
}
echo \'</ul>\';
我能够获得包含我在文本框中键入的字符的术语名称。
但我想做的是改变term_id AS id AND name AS value
这样我就可以传递如下变量:
$post->id
$post->value
//i.e
echo \'<a href="\'.$post->id.\'">\'.$post->value.\'</a>\';
我想我需要更改MySQL代码。我该怎么办?
最合适的回答,由SO网友:HungryCoder 整理而成
你可以很容易地做到。您的查询应该是:
$querystr = "SELECT `term_id` AS `id`, `name` AS `value`, `slug`, `term_group` FROM {$wpdb->terms} WHERE lower($wpdb->terms.name) like \'%$s%\'";
看,这里我已经提到了所需字段的名称。对于任何其他字段,都需要明确提及字段名称。