是这样的,在下的毕业设计中有一部分是做一个搜索用的页面。但是做好页面后发现无论如何,点击搜索后网页都是白板,什么都不显示= =  不知道哪里出了问题,请各位前辈指点一下。部分代码如下:html部分:<form action="card.php" method="get">
<dl><dt>关键字</dt><dd><input type="text" name="Name" size="50" class="t"></dd>
<dt>卡片类型</dt><dd><select name="CardType" id="CardType"><option value=""></option><option value="怪兽">怪兽</option><option value="魔法">魔法</option><option value="陷阱">陷阱</option></select></dd>
……
<input type="submit" class="s3" value="搜索"></form>
即为在网页上做出一些可下拉的选择框,依次为Name、CardType、CardStar、CardSXList、CardRace,最后有个搜索按钮。php部分:<?php
MySQL_connect("localhost","root","")or die("无法连接服务器");
MySQL_select_db("card")or die("无法连接数据库");
$link="";
if($Name&&!$CardType)
{
$link="Name LIKE \"%".$Name."%\"";
}
else if(!$Name&&$CardType)
{
$link="CardType LIKE \"".$CardType."\"";
}
else if($Name&&$CardType)
{
$link="Name LIKE \"%".$Name."%\" AND CardType LIKE \"".$CardType."\"";
}
if($CardStar)
{
$link=$link." AND CardType LIKE \"怪兽\" AND CardStar LIKE \"".$CardStar."\"";
}
if($CardSXList)
{
$link=$link." AND CardType LIKE \"怪兽\" AND CardSXList LIKE \"".$CardSXList."\"";
}
if($CardRace)
{
$link=$link." AND CardType LIKE \"怪兽\" AND CardRace LIKE \"".$CardRace."\"";
}
$query="SELECT * FROM card WHERE ".$link;
$row=MySQL_query($query);
echo $row[Name]."<br />";
if($CardType==怪兽)
{
echo $row[CardStar]."星<br />";
echo $row[CardSXList]."属性<br />";
echo $row[CardRace]."<br />";
echo "攻击力:".$row[Attack]."<br />";
echo "防御力:".$row[Deffend]."<br />";
}
echo $row[Effect];
?>无论在网页上选择哪些条件,点击后都是一片白板……PS:那个if($CardStar)后面基本都有问题,这个我还没解决。但是即使是只选择卡片类型,出来的也是白板,请问是哪里出问题了啊

解决方案 »

  1.   

    MySQL_connect这样的函数尽量小写,有点不适应
    一般获取表单提交的值
    如果是get方式,通过$_GET
    如果是post方式,通过$_POST
    例如
    $_GET['Name']除非进行配置了,可以直接使用对应的变量
      

  2.   

    $query="SELECT * FROM card WHERE ".$link;
    echo $query;//看看语句是否有错#########
    $row=MySQL_query($query);
    echo $row[Name]."<br />";
    if($CardType==怪兽)---》
    if($CardType=="怪兽")
      

  3.   


    = =这样凶会吓到新手的……又出了新的毛病,求解答~ 症状如下:查询之后返回乱码,在网上查了一些类似情况,添加了一条语句 MySQL_query("SET NAMES gb2312");
    仍然不能解决问题。不知道应该怎么办了php页面的编码格式是UTF-8,数据库中表是gb2312... 为何还是会出现乱码呢
      

  4.   

    mysql_query('set names utf8');
    试试
      

  5.   


    把那行语句删掉了,直接把php文件另存为了GB2312编码  不再显示乱码了~  不过仍然THX!
      

  6.   

    有必要把$query的值输出,看看查询语句是否正确完整。