gpt4 book ai didi

php - Drupal 和 PHP/MySQL : How to compare fields with current user's field?

转载 作者:行者123 更新时间:2023-11-30 23:36:41 24 4
gpt4 key购买 nike

我有一个问题,关于 drupal 中的 php 语法/mysql:

假设用户 A 创建了一个名为“test”的内容类型,他在其中用值“xxx”填充了字段 field_example。之后,另一个用户 userB 创建了另一个内容,并用相同的值“xxx”填充了相同的字段 field_example

我想知道如何才能仅使用创建的节点显示 View ,其中字段 field_example 对于当前用户是相同的?我在使用的内容类型“测试”中没有(也不想要)用户引用。

我已经查看了 View PHP Filter,但我想知道如何比较字段的值?这是我的尝试 [我不是 PHP 专家,您可能会注意到 :)]:

<?php

$a="SELECT uid FROM users WHERE uid=%d";

/* ??? How to create $b which can get value of field_example from content_type_test from current user which is logged in ? */

$b="";

$c="SELECT field_example FROM content_type_test";

if ($b==$c){
echo "Ok, I've what I want :) ";
}

?>

任何帮助将不胜感激,因为我已经有一段时间在寻找有关此查询的信息...

谢谢大家:)

最佳答案

我没有 View 模块解决方案。

想到的一个想法是,如果用户 A 提交多个节点,那么您会使用哪个示例值?另外,您使用的是哪个版本的 Drupal?

假设用户只会提交一种这种类型的内容并且您正在运行 Drupal 6(我从代码示例中猜测),那么它可能看起来像这样:

<?php
// current user
global $user;
// select this user's node
$nid = db_result(db_query("SELECT nid FROM {node} WHERE type = 'my_content_type' AND status = 1 AND uid = %d", $user->uid));
// if this node loads fine, then proceed with the rest
if ($node = node_load($nid)) {
// find nodes with the same example value, which do not belong to the current user
$result = db_query("SELECT nid FROM {node}
INNER JOIN {content_type_test} ctt ON n.vid = ctt.vid
WHERE n.status = 1 AND ctt.field_example_value = '%s' AND uid <> %d
ORDER BY n.created DESC", $node->field_example[0]['value'], $user->uid);
// loop through results
while ($row = db_fetch_object($result)) {
$node = node_load($node->nid);
// append the teaser output (if this is what you want to do)
$output .= node_view($node, TRUE);
}
// print the output
print $output;
}
else {
print t('No other content found.');
}
?>

如果用户提交了不止一种这些内容类型,那么这就必须是另一个答案,以避免在这里写小说。有几种方法可以解决这个问题。

此外,如果这是 Drupal 7,我也会使用不同的功能。

关于php - Drupal 和 PHP/MySQL : How to compare fields with current user's field?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6796680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com