三层前台显示问题 写一句sql?要先确定第一个,然后在根据id查询 显示 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select a.aid,b,bname,c.cname from a join b on a.aid=b.aid join c on b.bid=c.bid Select A.aname, B.bname, C.name From A, B, C Where A.aid=B.aid And B.bid=C.bid And A.aname='11' xiaojing7兄,确定第一个再根据id查询那就是半自动了..hookee和iamXiaMi兄的我先试试 用PHP如何在前台页面显示出来呢?形如这样:11->xx-->GG ------------@@ 真是抱歉,我还有个问题,我是这样写的:<?php$sql="select distinct(A.aname),B.bname,C.cname,B.bid,C.cid from A,B,C where A.aid=B.aid and B.bid=C.bid";$result=mysql_query($sql,$conn);while ($rs=mysql_fetch_array($result)){?><td width="21%" height="150"><?=$rs["aname"]?><br><a href="product_3catalog.php?bid=<?=$rs["bid"]?>"><?=$rs["bname"]?></a><br> <a href="product_show.php?cid=<?=$rs["cid"]?>"><?=$rs["cname"]?></a></td><?php}?>-------------------------会显示这样:烏金材質 烏金材質 烏金材質 Battery Battery Battery test Hotmail www-------------------------如何才能不重复显示呢?像这样:烏金材質 Battery test Hotmail www CSDN的大哥們,幫忙啊... :( while ($rs=mysql_fetch_array($result)){ $newrs[]=$rs;}foreach ($newrs as $str){ echo "<td width=\"21%\" height=\"150\">$str['aname']<br> "; echo "<a href=\"product_3catalog.php?bid=$str['bid']\">$str['bname']</a> <br> ";} while ($rs=mysql_fetch_array($result)){ $newrs[]=$rs;}foreach ($newrs as $str){ echo " <td width=\"21%\" height=\"150\">$str['aname'] <br> "; echo " <a href=\"product_3catalog.php?bid=$str['bid']\">$str['bname'] </a> <br> ";} 假如说只要求找出b.bid=c.bid或是b.aid=a.aid就没有必要这么写,如果说除了找出这些结果之外还要找出不相等的来,才要这么写,看需求而定。 zmouki兄,我写的跟这个一模一样,我郁闷啊,还是有重复的啊... :($result=mysql_query($sql,$conn);while ($rs=mysql_fetch_array($result)){ $line[]=$rs;}foreach ($line as $v){echo $v["aname"]."<br> ".$v["bname"]."<br> ".$v["cname"]."<br>";}---------------显示:烏金材質 Battery test烏金材質 Battery test烏金材質 Battery test--------------------应该是sql的问题,加了distinct没有用哦... 咋改啊...? :( CSDN大佬,帮忙啊,Help me Pls.. 你在$line[]=$rs;}这个后面加上我下面这些,之后把结果发上来看看echo "<pre>";print_r($line);echo "</pre>"; Array( [0] => Array ( [0] => 烏金材質 [aname] => 烏金材質 [1] => Battery [bname] => Battery [2] => test [cname] => test [3] => 36 [bid] => 36 [4] => 5 [cid] => 5 )) Array( [0] => Array ( [0] => 烏金材質 [aname] => 烏金材質 [1] => Battery [bname] => Battery [2] => test [cname] => test [3] => 36 [bid] => 36 [4] => 5 [cid] => 5 ) [1] => Array ( [0] => 烏金材質 [aname] => 烏金材質 [1] => Battery [bname] => Battery [2] => Hotmail [cname] => Hotmail [3] => 36 [bid] => 36 [4] => 6 [cid] => 6 )) Array( [0] => Array ( [0] => 烏金材質 [aname] => 烏金材質 [1] => Battery [bname] => Battery [2] => test [cname] => test [3] => 36 [bid] => 36 [4] => 5 [cid] => 5 ) [1] => Array ( [0] => 烏金材質 [aname] => 烏金材質 [1] => Battery [bname] => Battery [2] => Hotmail [cname] => Hotmail [3] => 36 [bid] => 36 [4] => 6 [cid] => 6 ) [2] => Array ( [0] => 烏金材質 [aname] => 烏金材質 [1] => Battery [bname] => Battery [2] => www [cname] => www [3] => 36 [bid] => 36 [4] => 7 [cid] => 7 ))---------------------我的SQL是这样的:select A.aname,B.bname,C.cname,B.bid,C.cid from A,B,C where A.aid=B.aid and B.bid=C.bid 前两个的结果应该是你说的那样,不过第三个结果不会总是test吧 select a.aname,b.bname,c.cname from a join b on a.aid=b.aid join c on b.bid=c.bid group by a.aname ------------------------各位大大们好,现在小弟再问一个问题就可以了,上面这种写法就是递归吧?跟下面这样的写法有什么区别:<tr><?phpwhile ($rs=mysql_fetch_array($result)){ ?><td width="21%" height="150"><a href="product_3catalog.php?bid=<?=$rs["bid"]?>"><?=$rs["bname"]?></a></td></tr><?php}?>----------------这样写得到的结果也是一样的,干嘛还要那样写?什么时候用递归,就是第一种? 我一直在线,谢谢了! 在实际项目中,我们很少用PHP和HTML穿插的形式来做,而是PHP和HTML分开来做,这样美工和程序员的工作就可以分头进行,互不影响,foreach是一种遍历数组简便方法,其对像只能是数组。而WHILE尽量让他只出现在PHP文件当中,因为这是程序员的工作,我的做法通常只让他出现在PHP文件当中,当然结果是一样的,PHP本事的特性就是相互渗透。 以前听哪位说过,不会用递归就不算真正的php编程,吓了我一跳..---------------------------非常谢谢zmouki兄的回答.两种方式处理的结果是一模一样的,只是单单的php程序跟Html代码的分离,是这样吗? php连接mssql数据库中文乱码问题 【求助】apache的url重写的问题 如下日历代码,该如何修改才能让radio全选 xdebug+eclipse的问题 php运行linux 命令 PHP的未来问题 在用editplus调试php的人过来看一下 特殊字符导致错误!! 我看到很多的新闻系统里面都有关键字功能 PHP初始化问题 又是install问题?? 遇到存储问题,请高手解决
hookee和iamXiaMi兄的我先试试
11
->xx
-->GG
------------
@@
<?php
$sql="select distinct(A.aname),B.bname,C.cname,B.bid,C.cid from A,B,C where A.aid=B.aid and B.bid=C.bid";
$result=mysql_query($sql,$conn);
while ($rs=mysql_fetch_array($result))
{
?>
<td width="21%" height="150"><?=$rs["aname"]?><br>
<a href="product_3catalog.php?bid=<?=$rs["bid"]?>"><?=$rs["bname"]?></a><br>
<a href="product_show.php?cid=<?=$rs["cid"]?>"><?=$rs["cname"]?></a>
</td>
<?php
}
?>
-------------------------
会显示这样:
烏金材質 烏金材質 烏金材質
Battery Battery Battery
test Hotmail www
-------------------------
如何才能不重复显示呢?像这样:
烏金材質
Battery
test
Hotmail
www
{
$newrs[]=$rs;
}
foreach ($newrs as $str)
{
echo "<td width=\"21%\" height=\"150\">$str['aname']<br> ";
echo "<a href=\"product_3catalog.php?bid=$str['bid']\">$str['bname']</a> <br> ";
}
{
$newrs[]=$rs;
}
foreach ($newrs as $str)
{
echo " <td width=\"21%\" height=\"150\">$str['aname'] <br> ";
echo " <a href=\"product_3catalog.php?bid=$str['bid']\">$str['bname'] </a> <br> ";
}
$result=mysql_query($sql,$conn);
while ($rs=mysql_fetch_array($result)){
$line[]=$rs;
}
foreach ($line as $v){
echo $v["aname"]."<br> ".$v["bname"]."<br> ".$v["cname"]."<br>";
}
---------------
显示:
烏金材質
Battery
test
烏金材質
Battery
test
烏金材質
Battery
test
--------------------
应该是sql的问题,加了distinct没有用哦... 咋改啊...? :(
echo "<pre>";
print_r($line);
echo "</pre>";
(
[0] => Array
(
[0] => 烏金材質
[aname] => 烏金材質
[1] => Battery
[bname] => Battery
[2] => test
[cname] => test
[3] => 36
[bid] => 36
[4] => 5
[cid] => 5
))
Array
(
[0] => Array
(
[0] => 烏金材質
[aname] => 烏金材質
[1] => Battery
[bname] => Battery
[2] => test
[cname] => test
[3] => 36
[bid] => 36
[4] => 5
[cid] => 5
) [1] => Array
(
[0] => 烏金材質
[aname] => 烏金材質
[1] => Battery
[bname] => Battery
[2] => Hotmail
[cname] => Hotmail
[3] => 36
[bid] => 36
[4] => 6
[cid] => 6
))
Array
(
[0] => Array
(
[0] => 烏金材質
[aname] => 烏金材質
[1] => Battery
[bname] => Battery
[2] => test
[cname] => test
[3] => 36
[bid] => 36
[4] => 5
[cid] => 5
) [1] => Array
(
[0] => 烏金材質
[aname] => 烏金材質
[1] => Battery
[bname] => Battery
[2] => Hotmail
[cname] => Hotmail
[3] => 36
[bid] => 36
[4] => 6
[cid] => 6
) [2] => Array
(
[0] => 烏金材質
[aname] => 烏金材質
[1] => Battery
[bname] => Battery
[2] => www
[cname] => www
[3] => 36
[bid] => 36
[4] => 7
[cid] => 7
))
---------------------
我的SQL是这样的:
select A.aname,B.bname,C.cname,B.bid,C.cid from A,B,C where A.aid=B.aid and B.bid=C.bid
各位大大们好,现在小弟再问一个问题就可以了,上面这种写法就是递归吧?跟下面这样的写法有什么区别:
<tr>
<?php
while ($rs=mysql_fetch_array($result)){
?>
<td width="21%" height="150"><a href="product_3catalog.php?bid=<?=$rs["bid"]?>"><?=$rs["bname"]?></a></td>
</tr>
<?php
}
?>
----------------
这样写得到的结果也是一样的,干嘛还要那样写?什么时候用递归,就是第一种? 我一直在线,谢谢了!
---------------------------
非常谢谢zmouki兄的回答.
两种方式处理的结果是一模一样的,只是单单的php程序跟Html代码的分离,是这样吗?