ホームページ > バックエンド開発 > PHPチュートリアル > 別のテーブルフィールドのデータを確認する方法

別のテーブルフィールドのデータを確認する方法

WBOY
リリース: 2016-06-23 14:10:33
オリジナル
1391 人が閲覧しました

これで、 tb_activity テーブルと tb_participate テーブルができました
テーブル tb_participate の p_activity フィールドは、テーブル tb_activity の a_num 値と同じです

<?php$sql8="select * from tb_participate where p_voluteer = '$fnum'";$result8=mysql_query($sql8)or die ('数据库查询失败!');while($row=mysql_fetch_array($result8)){	 echo $row['p_activity'].'<br/>';}?>
ログイン後にコピー
を通じて
テーブル内の p_activity フィールドのすべての値を出力できますtb_participate (つまり、テーブル tb_activity の a_num の値)
しかし、同時にテーブル tb_activity の a_name フィールドの値も出力したいのですが
コードをどのように書き直せばよいでしょうか?


ディスカッションへの返信 (解決策)

$sql8="select * from tb_participate a inner join tb_activity b on a.p_activity=b.a_num where a.p_voluteer = '$fnum'";

$result8=mys ql_query ($sql8)or die ('データベースクエリが失敗しました!');
while($row=mysql_fetch_array($result8)){
echo $row['p_activity'] .' '&lt; br/&gt;';
$ sql8 = "select * from tb_particitivity where tb_activity = tb_activity and tb_particate.p_voluteer = '$ fnum'"; from tb_participate, tb_activity where tb_participate.p_activity=tb_activity.a_num および tb_participate.p_voluteer = '$fnum'";

$sql8="select * from tb_participate, tb_activity where tb_participate.p_ tb_activity.a_num およびtb_participate.p_voluteer = '$fnum'";

$result8=mysql_query($sql8)or die ('データベースクエリが失敗しました!');

while($row=mysql_fetch_array($result8)){
echo $row['tb_participate .p_activity '] .' '.$row['tb_activity.a_name']'
'
}
?>
echo $row ['tb_participate .p_activity'] .' '.$row['tb_activity.a_name'].'
'
なぜこのように書かれているのでしょうか?私はあなたにこれを書くように頼んだわけではありませんよね?

echo $row['p_activity'] .' '.$row['a_name'].'
'

$sql8="a.p_activity= の内部結合 tb_activity b から * を選択しますb.a_num where a.p_voluteer = '$fnum'"; $result8=mysql_query($sql8)or die ('データベースクエリが失敗しました!');

while($row=mysql_fetch_array($result8)){
echo $ row['p_activity'] .' '.$row['a_name'].'
' }
$sql8="select * from tb_participate a inner join tb_activity b .p_activity=b.a_num where a.p_voluteer = '$fnum'";

$result8=mysql_query($sql8)or die ('データベース クエリが失敗しました!');

while($row=mysql_fetch_array($result8)){ ' 2 行ですが、変更後は何も表示されません

echo $row['tb_participate.p_activity'] .' '.$row['tb_activity.a_name'].'
' なぜ次のように書かれているのですかこれ? ?私はあなたにこれを書くように頼んだわけではありませんよね?

echo $row['p_activity'] .' '.$row['a_name'].'

$sql8="select * from tb_participate, tb_activity where tb_participate.p_activity =tb_activity.a_num および tb_participate.p_voluteer = '$fnum'";
$result8=mysql_query($sql8)or die ('データベース クエリが失敗しました!');
while($row=mysql_fetch_array($result8)){
echo $row['p_activity'] .' '.$row['a_name'].'
'
}
?>
まだ応答がありません...何も出力できません

投稿してください あなたのテーブル構造

あなたのテーブル構造を投稿することをお勧めします


私の QQ 番号: 273041720
追加していただけますか
マスター jordan102&& モデレーター xuzuning

テーブル データに関しては、一致するデータがないと思われます状況、契約条項。 SQLをphpmyadminに貼り付けて実行できます。

テーブルデータに関しては、条件に合うデータが無いのではないかと思います。 SQLをphpmyadminに貼り付けて実行できます。
-- phpMyAdmin SQL ダンプ
-- バージョン 2.11.6
-- http://www.phpmyadmin.net
--
-- ホスト: localhost
-- 生成日: 2013 年 5 月 17 日 08:35
--サーバーのバージョン: 5.0.51
-- PHP バージョン: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"

--
-- データベース: `db_voluteer`
--

-- ----- -- ------------------------------------------------ -

--
-- テーブル構造 `tb_activity`
--

CREATE TABLE `tb_activity` (
`a_num` varchar(8) NOT NULL,
`a_name` varchar(20) デフォルト NULL,
`a _date ` dateデフォルト NULL、
`a_place` varchar(20) デフォルト NULL、
`a_number` int(3) デフォルト NULL、
`a_Department` varchar(20) デフォルト NULL、
`a_principal` varchar(20) デフォルト NULL、
`a_telephone ` varchar(20) デフォルト NULL,
`a_sponsor` varchar(20) デフォルト NULL,
`a_remark` テキスト,
PRIMARY KEY (`a_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- エクスポートテーブル `tb_activity` のデータ
--

INSERT INTO `tb_activity` (`a_num`, `a_name`, `a_date`, `a_place`, `a_number`, `a_Department`, `a_principal`, ` a_telephone`, `a_sponsor`, `a_remark`) VALUES
('HD130512', '体力テスト', '2013-05-12', '理学部4階', 0, 'IEC実務部', '', ' 2147483647 ', '', '')、
('HD130515', 'SAD', '0000-00-00', 'SD', 0, '', '', '', '', ' ')、
('HD130517', 'テスト', '2013-05-17', 'D', NULL, 'IEC 作業部', NULL, '18646665427', NULL, NULL),
('HD130525', 'メーデー《 " 「生まれ変わる明日」コンサート', '0000-00-00', 'ハルビン国際会展センター', 0, '電気通信事業部', '', '15114590656', 'WX', '');

-- -------------------------------------------------- - -----

--
-- テーブル構造 `tb_Department`
--

CREATE TABLE `tb_Department` (
`d_num` int(2) NOT NULL,
`d_name` varchar(20) デフォルト NULL ,
`d_minister` varchar(10) default NULL,
PRIMARY KEY (`d_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- テーブル `tb_Department` 内のデータをエクスポートします
--

INSERT INTO `tb_Department` (`d_num`, `d_name`, `d_minister`) VALUES
(1, '環境部', 'Shen Qi'),
(2, '電気通信部', 'Pu Wei' ) 、
(9、「IEC 作業部」、「王迅」)

-- ---------------------------- - -------------------------

--
-- テーブル構造 `tb_finance`
--

CREATE TABLE `tb_finance `(
`f_num` varchar(8) NOT NULL、
`f_type` varchar(10) デフォルト NULL、
`f_date` 日付デフォルト NULL、
`f_money` int(10) デフォルト NULL、
varchar(20 ) デフォルト NULL、
`f_users` varchar(20) デフォルト NULL、
`f_telephone` varchar(11) デフォルト NULL、
`f_remark` テキスト、
PRIMARY KEY (`f_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- テーブル `tb_finance` のデータをエクスポートします
--

INSERT INTO `tb_finance` (`f_num`, `f_type`, `f_date`, `f_money`, `f_activity`, `f_users`, `f_telephone`, `f_remark `) 値
('ZC090515', '収入', '0000-00-00', 250, '', 'SAD', '12412421', ' AD'),
('ZC090516' , '支出', ' 0000-00-00'、100、''、''、''、'');

-- ------- ------ ---------------------------------

--
-- 表の構造 `tb_goods`
--

CREATE TABLE `tb_goods` (
`g_num` varchar(8) NOT NULL,
`g_name` varchar(20) default NULL,
`g_type` varchar( 10) デフォルト NULL,
`g_count` int(10) デフォルト NULL,
`g_date` 日付 デフォルト NULL,
`g_user` varchar(20) デフォルト NULL,
`g_activity` varchar(20) デフォルト NULL,
g_電話` varchar(20) default NULL,
`g_place` varchar(20) default NULL,
`g_remark` text,
PRIMARY KEY (`g_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- 导出表中のデータ `tb_goods`
--

INSERT INTO `tb_goods` (`g_num`, `g_name`, `g_type`, `g_count`, `g_date`, `g_user`, `g_activity`, `g_telephone`, `g_place`, `g_remark`) VALUES
('CK090515', 'MX', '出库', 0, '0000-00-00', '', '', '' , '', ' ')、
('RK090516', 'MX2', '入库', 5, '0000-00-00', '', 'テスト', '', '', ' ');

-- ---------------------------------------------- ----------

--
-- 表の組織 `tb_organization`
--

CREATE TABLE `tb_organization` (
`o_num` int(8) NOT NULL auto_increment,
`o_Department` varchar(8) default NULL,
`o_activity` varchar(8) default NULL,
PRIMARY KEY (`o_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

--
-- 导出表中のデータ `tb_organization`
--


-- ------------------------------------------ -----------------------------

--
-- 表の结构 `tb_participate`
--

CREATE TABLE ` tb_participate` (
`p_num` int(8) NOT NULL auto_increment,
`p_voluteer` varchar(8) default NULL,
`p_activity` varchar(8) default NULL,
PRIMARY KEY (`p_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

--
-- 导出表中のデータ `tb_participate`
--
INSERT INTO `tb_participate` (`p_num`, `p_voluteer`, `p_activity`) VALUES
(1, '90901', 'HD09051) 5分)、
(2, '90902', 'HD090515')、
(3, '100901', 'HD130525')、
(4, '100902', 'HD130525')、
(5, '90901', ' HD090517');

-- ---------------------------------------------- ----------

--
-- 表の结构 `tb_users`
--

CREATE TABLE `tb_users` (
`u_username` varchar(10) NOT NULL,
`u_password` varchar (10) NOT NULL,
`u_role` varchar(10) NOT NULL,
PRIMARY KEY (`u_username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- 导出表中のデータ `tb_users`
--

INSERT INTO `tb_users` (`u_username`, `u_password`, `u_role`) VALUES
('wangxun', '900727', '管理员');

-- ---------------------------------------------- ----------

--
-- 表の结构 `tb_voluteer`
--

CREATE TABLE `tb_voluteer` (
`v_num` int(6) NOT NULL,
`v_name` varchar (20) デフォルト NULL,
`v_stunum` int(10) デフォルト NULL,
`v_sex` varchar(2) デフォルト NULL,
  `v_id` varchar(18)デフォルトnull、
` v_birth`日付デフォルトnull、
`v_place` varchar(10)デフォルトnull、
` v_nation` varchar(10)デフォルトnull、
`v_politics` varchar(10)デフォルトヌル、
`v_Department` varchar(20) default NULL,
`v_position` varchar(10) default NULL,
`v_cellphone` varchar(11) default NULL,
`v_qq` varchar(20) default NULL,
_email` varchar (20) default NULL,
`v_enterdate` date default NULL,
`v_college` varchar(20) default NULL,
`v_major` varchar(20) default NULL,
`v_dormitory` varchar(20) default NULL,
主キー(`v_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- 导出表中のデータ `tb_voluteer`
--

INSERT INTO `tb_voluteer` (`v_num`, `v_name`, `v_stunum`, `v_sex`, `v_id`, `v_birth`, 「v_place」、「v_nation」、「v_politics」、「v_Department」、「v_position」、「v_cellphone」、「v_qq」、「v_email」、「v_enterdate」、「v_college」、「v_major」、「v_dormitory」)値
(90101, '申', 0, '男', '0', '0000-00-00', '', '', '党员', '资环工作部', '部长', '0', '0', '', '0000-00-00', '', '', ''),
(90201, '蒲', 2009020000, '', '2147483647', '0000-00-00', '', '', '团员', '电信工作部', '部长', '0', '0', '','0000-00-00', '', '', ''),
(90202, '闵敏', 2009020001, '女', '230606199007200850', '0000-00-00', '', '', '党员', '电信工作部', '部长', ', ' 99999999999', '', '0000-00-00', '', '', ''),
(90301, '李', 2009020003, '女', '230606199007270999', '0000-00-00', '', '', '党员', '機械工作部', '部长', '15114590685', ', '', '0000-00-00','機械工程学院', ', '') ,
(90401, '孙鹏', 2009025837, '男', '', '0000-00-00', '', '', '党员', '建工工作部', '部长', '' , '', '', '0000-00-00', '建設工程学院', '', ''),
(90402, '曾', 2009020006, '女', '','0000-00- 00', '', '', '群众', '计算机工作部', '部长', '', '', '','0000-00-00','建設工程学院', ', ' '),
(90501, '赵鹿', 2009020007, '女', '230606199007270891', '0000-00-00', '', '','团员', '总会宣传工作部','部长', '', '', '', '0000-00-00','经济管理学院', '', ''),
(90901, '王', 2009025838, '男', '0', '0000-00-00', '上海市', ', ', 'IEC工作部', '部长', '21474836478', '273041720', 'wxsyd966@gmail.com', '0000-00- 00', '国际教育学院', '赴加计算机09-1', '16#604'),
(91101, '宋韬', 2009025836, '男', '', '0113-05-10' , '', '', '团员', '安全工作部','部长', '', '', '','0000-00-00','安全工程学院', ', '') ,
(100901, '茹', 0, '女', '0', '0000-00-00', '', '', '群众', 'IEC工作部', '干事', '0' , '0', '', '0000-00-00', '', '', ''),
(100902, '沂', 2010020666, '女', '230606199007270002','0000-00-00 ', '', '', '群众', 'IEC工作部', '干事', '', '', '', '0000-00-00', '', '', '');

你的 $fnum 是いくら,echo $sql8; 
phpmyadmin に SQL を実行して結果が得られませんでした

$fnum は何ですか? echo $sql8;
phpmyadmin に SQL を入れて結果があるか確認してください
$fnum=90901
echo $sql8; 私のコードを使用する場合は、select * from tb_participate where p_voluteer = '90901'select * from tb_participate where p_voluteer = '90901 を出力します。 '
echo $sql8; マスターとモデレーターからの表示はありません
私は常に phpmyadmin に SQL を保存しています
マスター、QQ、273041720 を追加してください、リモートにすることができます

p_voluteer = の場合、tb_participate はありません。 '90901 .p_activity=tb_activity.a_num データなので、何も表示されません。

p_voluteer = '90901の場合、tb_participate.p_activity=tb_activity.a_numのデータがないため表示されません。
行きます! ! ! ! ! ! ! ! ! !
FXXX、ひざまずいて神に感謝します! ! ! ! ! ! ! ! ! ! ! !
偉大なる神は偉大です! ! ! ! ! ! ! ! ! ! ! !
ヨルダンにはまだ 2 つのバグがあります http://bbs.csdn.net/topics/390460423

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート