【发布时间】:2013-06-02 02:07:20
【问题描述】:
我需要一个扩展的 INSERT 语句(带有 WHERE)才能在 TYPO3 中得到我的结果。使用 TYPO3 插入的标准方法是这样的:
$res_ext=$GLOBALS['TYPO3_DB']->exec_INSERTquery($ext_table, $feUserRecord);
-
$ext_table = '新闻';
$feUserRecord = 数组 ( 'tx_extendnews_subscriber' => $userid_fe );
tx_extendnews_subscribe 是值为 $userid_fe 的列
现在我需要一个带有 WHERE 语句的 INSERT...有 TYPO3 方式还是仅使用 MySQL 语法?
我需要这个 WHERE 语句:SELECT * FROM news WHERE uid = post_uid
- $userid_fe = 704
- post_uid = 101
INSERT - SELECT Link from MySQL
我用标准的 MySQL 试试这个,但它不适合我
$resulting_post_id = "SELECT * FROM news WHERE uid = 101";
$res_ext="INSERT INTO news (tx_extendnews_subscriber) VALUES ('704'($resulting_post_id))";
【问题讨论】:
-
吉姆,你能用文字(而不是代码)描述你真正想要实现的目标吗?可能你根本不需要
INSERT ... SELECT。 -
由于我的 Tyop3 扩展和后端管理需要 INSERT 和 SELECT。我有 10 个新闻和可以订阅新闻的用户。如果用户订阅新闻,他的 id 将保存在 tx_... 列中,例如 uid = 4...该列现在有一个逗号分隔的 id 列表,其中包含订阅新闻的用户
-
@cascaval 你是对的 :) 我现在用第三个 M:N 表尝试了它,所以我可以使用 INSERT 的标准方式,在列中保存逗号分隔的 id 是一种不好的方式
-
是的,用于存储关系的第三张表是一个更好的主意。但是,即使您已经有一条新闻记录并且想要通过将另一个用户的 ID 添加到新闻的
tx_extendnews_subscriber列来修改它的初衷,也不应该使用INSERT查询,而是使用UPDATE查询。跨度> -
哇!你好吗?在哪?我一直试图弄清楚如何连接到我的数据库并将特定数据获取到视图/模板。我对发生的事情感到迷茫,但是这段代码对我来说比我尝试使用的typo3脚本更重要!