-2

私は2つのmysqlテーブル、予定、およびユーザーを持っています...私の考えは、ユーザーがログインし、その予定をユーザープロファイルに保存する予定を立てて、後でその特定の予定をキャンセルできるようにすることでした。 IDという名前のキー...ユーザープロファイルに予定を表示するにはどうすればよいですか?私はすでにこれら2つのテーブルを作成しているため、alter tableを使用して外部キーのアポイントメントIDをユーザーテーブルに追加しました。クエリはうまくいきましたが、何も変更されていません...これは、どんな助けでも大歓迎です...

テーブルを投稿していないことをお詫びします。新しい...ここにあります...これは実際には私のコードではなく、そのjoomlaコンポーネントコードです。ユーザーがログインして予定を立てるときに言ったように、彼のユーザープロファイルに移動すると、彼が行ったすべての予定が表示されます。おそらくこれは他の方法で行うことができますが、私の考えはテーブルで外部キーを使用することでした...

ユーザー

CREATE TABLE `jos_users` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(255) NOT NULL DEFAULT '',
 `username` varchar(150) NOT NULL DEFAULT '',
 `email` varchar(100) NOT NULL DEFAULT '',
 `password` varchar(100) NOT NULL DEFAULT '',
 `usertype` varchar(25) NOT NULL DEFAULT '',
 `block` tinyint(4) NOT NULL DEFAULT '0',
 `sendEmail` tinyint(4) DEFAULT '0',
 `registerDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
 `lastvisitDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
 `activation` varchar(100) NOT NULL DEFAULT '',
 `params` text NOT NULL,
 `lastResetTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Date of last password reset',
 `resetCount` int(11) NOT NULL DEFAULT '0' COMMENT 'Count of password resets since lastResetTime',
 `fk_appointments` int(11) NOT NULL,
 PRIMARY KEY (`id`),
 KEY `usertype` (`usertype`),
 KEY `idx_name` (`name`),
 KEY `idx_block` (`block`),
 KEY `username` (`username`),
 KEY `email` (`email`)
) ENGINE=MyISAM AUTO_INCREMENT=574 DEFAULT CHARSET=utf8

予定

CREATE TABLE `jos_jxtc_appbook_appointments` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `checked_out` int(11) NOT NULL,
 `checked_out_time` datetime NOT NULL,
 `ordering` int(11) NOT NULL,
 `published` tinyint(4) NOT NULL,
 `parent_id` int(11) NOT NULL,
 `user_id` int(11) NOT NULL,
 `title` varchar(255) NOT NULL,
 `email` tinytext NOT NULL,
 `date` date NOT NULL,
 `duration` time NOT NULL,
 `start` time NOT NULL,
 `end` time NOT NULL,
 `field1` text NOT NULL,
 `field2` text NOT NULL,
 `field3` text NOT NULL,
 `field4` text NOT NULL,
 `field5` text NOT NULL,
 `field6` text NOT NULL,
 `field7` text NOT NULL,
 `field8` text NOT NULL,
 `field9` text NOT NULL,
 `field10` text NOT NULL,
 PRIMARY KEY (`id`),
 KEY `parent_id` (`parent_id`),
 KEY `user_id` (`user_id`)
) ENGINE=MyISAM AUTO_INCREMENT=309 DEFAULT CHARSET=utf8
4

3 に答える 3

0

結合を使用する必要があります:

select * from users u, appointments a where u.appointment_id=a.id
于 2013-01-29T12:41:10.720 に答える
0

何かのようなもの:

select * from appointments where user.id=appointment.id;
于 2013-01-29T12:39:04.550 に答える
0

最終的に、テーブル userident-int に新しい値を作成し、フォーム内に、そのフォームを送信したユーザーの ID を格納する新しい入力を作成しました...

<input type="hidden" name="userident" ide="userident" value="<?php $user =& JFactory::getUser(); echo $user->id; ?>" 
于 2013-02-28T19:16:32.023 に答える