php 带条件的三表联查,三表联查之后~数组的有关问题~

三表联查之后~~~数组的问题~~

有点长~~先感谢看完并回复的朋友~~好了~~直入主题

mission_need表是任务表,主键misneed_id

offer_need表是竞价表,主键offneed_id,有任务id字段misneed_id,有发表该竞价的用户id字段offneed_user

userinfo表是用户信息表,主键user_id

举例:

现在是想取出misneed_id=5的这个任务下的任务信息+该任务下的所有竞价+每个开出竞价的该用户信息

我写的SQL是下面这样的~~~

SELECT *

FROM mission_need

LEFT JOIN offer_need ON mission_need.misneed_id = offer_need.offneed_misid

JOIN userinfo ON offer_need.offneed_user = userinfo.user_id where mission_need.misneed_id=5

贴出部分代码如下

require('config.php');

require('conn.php');

$misneed_id=$_GET['id'];

$sql="SELECT *

FROM mission_need

LEFT JOIN offer_need ON mission_need.misneed_id = offer_need.offneed_misid

JOIN userinfo ON offer_need.offneed_user = userinfo.user_id where mission_need.misneed_id='$misneed_id'";

$query=mysql_query($sql);

$result=mysql_fetch_array($query);

print_r($result);

$smarty->display('need_view.html');

?>

我数据库中正常取出是两行记录的...

112730591.jpg

可我打印出的数组却是这样

Array ( [0] => 1 [misneed_id] => 1 [1] => test [misneed_title] => test [2] => test [misneed_text] => test [3] => 5 [misneed_user] => 5 [4] => 4444 [misneed_price] => 4444 [5] => 0 [misneed_status] => 0 [6] => 0 [misneed_moneystatus] => 0 [7] => 20130119170332 [misneed_time] => 20130119170332 [8] => 20130102122522 [misneed_deadline] => 20130102122522 [9] => 1 [misneed_classid] => 1 [10] => ./upload_file/5/130119050132.jpg [misneed_file] => ./upload_file/5/130119050132.jpg [11] => 1 [offneed_id] => 1 [12] => offer test [offneed_text] => offer test [13] => 50 [offneed_price] => 50 [14] => 20130120211950 [offneed_time] => 20130120211950 [15] => 3 [offneed_round] => 3 [16] => 0 [offneed_status] => 0 [17] => 5 [offneed_user] => 5 [18] => 1 [offneed_misid] => 1 [19] => 5 [user_id] => 5 [20] => pingtai [user_name] => pingtai [21] => 03142410d7285f00e4363e005783c83a [user_pwd] => 03142410d7285f00e4363e005783c83a [22] => 1 [user_power] => 1 [23] => 555@qq.com [user_email] => 555@qq.com [24] => 2147483647 [user_phone] => 2147483647 )

这里明显只是其中一条记录的~~求教问题何在

------解决方案--------------------

执行一次 $result=mysql_fetch_array($query);

只读出一条记录

------解决方案--------------------

require('config.php');

require('conn.php');

$misneed_id=$_GET['id'];

$sql="SELECT *

FROM mission_need

LEFT JOIN offer_need ON mission_need.misneed_id = offer_need.offneed_misid

JOIN userinfo ON offer_need.offneed_user = userinfo.user_id where mission_need.misneed_id='$misneed_id'";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值