<?php 
 $db=mysql_connect($servername,$sqlservername,$sqlserverpws);
 mysql_select_db($sqlname,$db);
 $sql="select * from $sqltable order by id desc";
 $conn=mysql_query($sql);
 
 ?>
<table width="100%" border="0">
  <tr>
    <td width="5%" height="30"><div align="center" class="STYLE2">序 号</div></td>
    <td width="13%"><div align="center" class="STYLE2">社 区</div></td>
    <td width="8%"><div align="center" class="STYLE2">类 别</div></td>
    <td width="49%"><div align="center" class="STYLE2">标 题</div></td>
    <td width="13%"><div align="center" class="STYLE2">时 间</div></td>
    <td width="12%"><div align="center" class="STYLE2">操 作</div></td>
  </tr><?php
while($rs=mysql_fetch_array($conn)){

?>
  <tr>
    <td height="25"><?=$rs["id"]?></td>
    <td><?=$rs["web"]?></td>
    <td><? 
$wljtyp = $rs["wljtype"];
$sqltype="select * from $sqltype where id = '$wljtyp'";
$conntype =mysql_query($sqltype);
while ($rstype = mysql_fetch_array($conntype))
{echo $rstype["typename"];
}?>
</td>
    <td><?=$rs["title"]?></td>
    <td><?=$rs["indate"]?></td>
    <td><div align="center" class="STYLE3">编辑|删除</div></td>
  </tr>
  <?php 
}
    mysql_close();
exit;
 ?>
这是全部代码,我在数据库里建立了两个表,一个是所有记录,一个是所有类型,我想在红色字那里显示类型的名称,但第一个记录可以显示,下面的就全部出错了!那位老大能给个说法?谢谢了!!!

解决方案 »

  1.   

    你这样不是要进行 $sqltable数据量+1 次数据库查询!?
    SELECT A.*,B.* FROM $sqltable AS A LEFT JOIN $sqltype AS B ON A.wljtype=B.id ORDER BY A.id DESC
      

  2.   

    对不起,我可能没说清楚!
    比如说我的第一个表里的type是1,2,3这样的数字,而在第二个表里是类型1,类型2,类型3!
    我要通过对1,2,3数字的判断,显示出类型1,类型2,类型3!
    不知道我这样又没有说清楚?
      

  3.   

    刚详细查看你的代码,发现如下问题:
    $sqltype="select * from $sqltype where id = '$wljtyp'"; $sqltype估计你定义的是一个数据表的名字。
    但是第二次运行的时候,该数据表的值已经改变,可能引起你再次编写查询数据库语句的错误。建议你不要混用变量名。
    麻烦请试下修改变量的解决方法。因为没有你详细的数据库信息和详细代码,无法代为验证,抱歉。