现在我有一个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/>';
}
?>
我可以输出表tb_participate中p_activity字段的所有值(也就是表tb_activity中a_num的值)
但我想同时输出表tb_activity中a_name字段的值
请问应该怎么改写代码?

解决方案 »

  1.   

    $sql8="select * from tb_participate a  inner join tb_activity b on a.p_activity=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'].'<br/>';
    }
      

  2.   

    $sql8="select * from tb_participate, tb_activity where tb_participate.p_activity=tb_activity.a_num  and tb_participate.p_voluteer = '$fnum'";
      

  3.   


    <?php
    $sql8="select * from tb_participate, tb_activity where tb_participate.p_activity=tb_activity.a_num  and 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'].'<br/>';
    }
    ?>
    这样改完 就什么也打印不出来了
      

  4.   

    本帖最后由 xuzuning 于 2013-05-17 16:10:58 编辑
      

  5.   

    <?php
    $sql8="select * from tb_participate a  inner join tb_activity b on a.p_activity=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'].'<br/>';
    }
    ?>我原来的代码可以打印出
    HD090515
    HD090517
    两行 可是修改后什么也打印不出来了
      

  6.   

    <?php
    $sql8="select * from tb_participate, tb_activity where tb_participate.p_activity=tb_activity.a_num  and tb_participate.p_voluteer = '$fnum'";
    $result8=mysql_query($sql8)or die ('数据库查询失败!');
    while($row=mysql_fetch_array($result8)){
        echo $row['p_activity'] .' '.$row['a_name'].'<br/>';
    }
    ?>
    还是没有反应……什么也打印不出来
      

  7.   

    我的QQ号:273041720
    能不能加一下啊
    大神jordan102&&版主大人xuzuning
      

  8.   

    表数据呢,怀疑没有满足条件的数据。可以把sql贴到phpmyadmin 里面执行一下就知道了。
      

  9.   

    -- phpMyAdmin SQL Dump
    -- version 2.11.6
    -- http://www.phpmyadmin.net
    --
    -- 主机: localhost
    -- 生成日期: 2013 年 05 月 17 日 08:35
    -- 服务器版本: 5.0.51
    -- PHP 版本: 5.2.6SET 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) default NULL,
      `a_date` date default NULL,
      `a_place` varchar(20) default NULL,
      `a_number` int(3) default NULL,
      `a_department` varchar(20) default NULL,
      `a_principal` varchar(20) default NULL,
      `a_telephone` varchar(20) default NULL,
      `a_sponsor` varchar(20) default NULL,
      `a_re` text,
      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_re`) VALUES
    ('HD130512', '体能测试', '2013-05-12', '理学院4楼', 0, 'IEC工作部', '', '2147483647', '', ''),
    ('HD130515', 'SAD', '0000-00-00', 'SD', 0, '', '', '', '', ' '),
    ('HD130517', 'TEST', '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) default 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, '资环工作部', '申琪'),
    (2, '电信工作部', '蒲伟'),
    (9, 'IEC工作部', '王洵');-- ----------------------------------------------------------
    -- 表的结构 `tb_finance`
    --CREATE TABLE `tb_finance` (
      `f_num` varchar(8) NOT NULL,
      `f_type` varchar(10) default NULL,
      `f_date` date default NULL,
      `f_money` int(10) default NULL,
      `f_activity` varchar(20) default NULL,
      `f_users` varchar(20) default NULL,
      `f_telephone` varchar(11) default NULL,
      `f_re` text,
      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_re`) VALUES
    ('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) default NULL,
      `g_count` int(10) default NULL,
      `g_date` date default NULL,
      `g_user` varchar(20) default NULL,
      `g_activity` varchar(20) default NULL,
      `g_telephone` varchar(20) default NULL,
      `g_place` varchar(20) default NULL,
      `g_re` 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_re`) VALUES
    ('CK090515', 'MX', '出库', 0, '0000-00-00', '', '', '', '', ' '),
    ('RK090516', 'MX2', '入库', 5, '0000-00-00', '', 'test', '', '', '                                                                              ');-- ----------------------------------------------------------
    -- 表的结构 `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', 'HD090515'),
    (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) default NULL,
      `v_stunum` int(10) default NULL,
      `v_sex` varchar(2) default NULL,
      `v_id` varchar(18) default NULL,
      `v_birth` date default NULL,
      `v_place` varchar(10) default NULL,
      `v_nation` varchar(10) default NULL,
      `v_politics` varchar(10) default NULL,
      `v_department` varchar(20) default NULL,
      `v_position` varchar(10) default NULL,
      `v_cellphone` varchar(11) default NULL,
      `v_qq` varchar(20) default NULL,
      `v_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,
      PRIMARY KEY  (`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`) VALUES
    (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', '[email protected]', '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', '', '', '');
      

  10.   

    你的 $fnum 是多少,echo $sql8; 看看。
    把sql放到phpmyadmin执行一下看有不有结果
      

  11.   

    $fnum=90901
    echo $sql8; 如果用我的代码是 打印出select * from tb_participate where p_voluteer = '90901'select * from tb_participate where p_voluteer = '90901'
    echo $sql8; 大神和版主的 没有任何显示
    我一直把sql一直在phpmyadmin里面呢 这个是我的毕业设计
    请大神加我QQ,273041720,可以远程
      

  12.   

    p_voluteer = '90901 时没有 tb_participate.p_activity=tb_activity.a_num 的数据,因此就没有任何显示了。
      

  13.   

    我去!!!!!!!!!!
    FXXX,跪谢大神!!!!!!!!!!!!
    大神威武!!!!!!!!!!!!
    乔丹还有两个BUG http://bbs.csdn.net/topics/390460423